Moving body recognition apparatus

ABSTRACT

A moving body recognition apparatus which recognizes a shape and movement of an object moving in relation to an image input unit by extracting feature points, e.g. a peak of the object and a boundary of color, each in said images captured at a plurality of instants in time for observation by the image input unit. The moving body recognition apparatus comprises an image input unit for capturing images of an object as a moving body having a rotation, a feature point extraction unit for extracting feature points from the images inputted by the image input unit, a feature point storage unit for storing known position data of the extracted feature points, and a shape/movement recognition unit for calculating the actual positions and movements of the feature points of the object in the images by using the known position data of the extracted feature points outputted from the feature point storage unit.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to a moving body recognition apparatus. A movingbody recognition apparatus in many cases uses a TV camera as an imageinput unit receiving an image of an external object.

2. Description of the Related Arts

Image processing devices are used widely, e.g. for an FA (factoryautomation) inspection, an automatic monitoring device, and a visualsensor for an automatically operated vehicle, generally as devicescapable of processing visual information as with a human being. Thereare potential demands for them and their research and development isactively conducted. Although an image processing device originallyprocessed a still image as its object, recently it has put a greateremphasis on processing a moving image. Especially, those capable ofrecognizing a moving body have come to take a large share of all imageprocessing devices.

A moving body recognition apparatus generally recognizes the shape of amoving body and its relative movement, when the image input unit of themoving body recognition apparatus is moving in relation to the object.That is, even if an object is not actually moving, when an image inputunit of a moving body recognition apparatus moves, the moving bodyrecognition apparatus recognizes the shape of the object standing stilland the movement of the image input unit. For example, in a case of avisual sensor for an automatically operated vehicle, its image inputunit is loaded on top of the vehicle, and the moving body recognitionapparatus recognizes the environment in which the vehicle is running.

A moving body recognition apparatus must be compact and responsive.Compactness is critical, especially when a moving body recognitionapparatus is loaded on a vehicle in its application to a visual sensorof an automatically operated vehicle. Responsiveness is crucial, becausea realtime processing similar to a human vision is required.

A conventional moving body recognition device captures an object by two[2] image input units. By establishing the correspondences between thefeature points of the objects in the two [2] images captured by the two[2] image input units, the shape of the object is captured at everycertain instant in time for observation by applying a principle of atriangulation, and then the movement of the object is calculated.

FIG. 1 shows a concept of a conventional moving body recognitionapparatus.

A first image input unit 2 and a second image input unit 3 input imagesof an object 1 to a moving image recognition unit 4. The moving bodyrecognition unit 4 detects feature points of an object 1 from the two[2] images. By matching a same feature point between the two [2] images,the position of a feature point is calculated by applying a principle ofa triangulation. Here, a feature point refers to a point representing aparticular part of the object 1. When there is a peak, an outline pointor a pattern, a feature point may be a dot in a pattern or on a colorboundary. The moving body recognition unit 4 calculates the movement ofa feature point and the object 1 from a shift of the feature point in atime series. The moving body recognition apparatus outputs as arecognition result 5 the position and movement of a feature point andthe movement of an object.

FIG. 2 shows a configuration of a conventional moving body recognitionapparatus.

A first feature point extraction unit 6 extracts a feature point from animage inputted by the first image input unit 2 and supplies it to afeature point correspondence unit 8. Likewise, a second feature pointextraction unit 7 extracts a feature point from an image inputted by thesecond image input unit 3 and supplies it to the feature pointcorrespondence unit 8. The feature point correspondence unit 8 matchesthe same feature points from among the feature points extracted from thefirst feature point extraction unit 6 and the second feature pointextraction unit 7.

A feature point position calculation unit 9 obtains the positions offeature points by relating the positions of the matched feature pointswith the positions of the first image input unit 2 and the second imageinput unit 3, and stores the result in a feature point position storageunit 10. The positions of feature points at plural instants in time forobservation stored in the feature point position storage unit 10 aresent to an object movement calculation unit 11, which calculates themovement of an object and stores the result in an object movementstorage unit 12.

However, a conventional moving body recognition apparatus as explainedin the description of FIGS. 1 and 2 have the following problems. (a)Because two [2] feature point extraction units need to individuallyextract feature points extracted from two [2] images capturedrespectively by two [2] image input units, the process load forextracting a feature point is twice as much as that by using a single TVcamera. (b) An additional process of matching features from two [2]images captured differently is required. The feature point correspondingunit 8 is required as shown in FIG. 2. Because the positions of two [2]image input units are different, they capture the object 1 differently.This makes it difficult to match feature points of the object 1. Hence,the feature point correspondence unit 8 requires a large workload forsearching for corresponding feature points. (The closer the positions oftwo [2] image input units, the easier it is to make correspondencesbetween feature points of an object, but the less accurate a recognitionof the shape of an object becomes.)

Typically, processing in (b) is impossible when a feature point of anobject captured by one [1] image input unit cannot be captured by theother, where no correspondence between those feature points can be made.

FIG. 3 shows an example in which a conventional moving body recognitionapparatus fails to establish correspondences between feature pointscaptured by different image input units.

The object 1 has two [2] feature points, for instance. However, there isa case in which both the first image input unit 2 and the second imageinput unit 3 can capture only one [1] of the two [2] feature points.

SUMMARY OF THE INVENTION

A prime object of this invention is to recognize a moving body byextracting a feature point from images at plural instants in time forobservation inputted from a single image input unit. In order torecognize the movement of an object most generally in a movement coupledwith a revolution, i.e. a rotation, from the position data of the four[4] feature points of an object each in orthogonally protected imagescaptured at any three [3] instants in time for observation, thisinvention invokes a determination e.g. that the four [4] feature pointsare not on a single plane, and then a calculation of the actualpositions of the four [4] feature points. However, since the requiredprocesses are complicated in a. general case like this, this inventionalso aims at more easily recognizing the movement of a moving bodydespite some restrictions.

The above aims can be summarized as follows:

This invention aims at recognizing the movement of an object moving on asingle plane coupled with a rotation at a constant rotating speed, fromthe already known position data of two [2] feature points each in imagesof the object captured from a direction perpendicular to the axis ofrotation at three [3] instants in time for observation having equal timeintervals.

Also, this invention aims at recognizing the movement of an objectmoving on a single plane coupled with a rotation, from the already knownposition data of three [3] feature points forming a right angle each inimages of the object captured from a direction perpendicular to the axisof rotation at any two [2] instants in time for observation.

Further, this invention aims at recognizing the movement of an objectmoving on a single plane coupled with a rotation, from the already knownposition data of three [3] feature points each in images of the objectcaptured from a direction perpendicular to the axis of rotation at anythree [3] instants in time for observation.

Additionally, this invention aims at most generally recognizing themovement of a moving body. It is to recognize the movement of an objectmoving three-dimensionally coupled with a rotation, from the alreadyknown position data of four [4] feature points each in images of theobject captured at any three [3] instants in time for observation, afterdetermining e.g. that the four [4] feature points are not on a singleplane.

This invention configures a moving body recognition apparatus tocomprise a single image input unit for capturing an image of an object,a feature point extraction unit for extracting feature points in animage outputted from the image input unit, and a feature point storageunit for storing the extracted feature points, thereby enabling themovement of a moving body to be recognized from the known position dataof the feature points.

A feature of a first form of this invention resides in a moving bodyrecognition apparatus for recognizing a movement of a moving body bypositions of feature points on the moving body, comprising: an imageinput unit for capturing images of the moving body as an object; afeature point extraction unit for extracting feature points in theimages captured by the image input unit; a feature point positionstorage unit for storing known position data of extracted featurepoints; and a shape/movement recognition unit for calculating the actualpositions and movements of feature points of the object from knownposition data of two [2] feature points of the object each in the imagescaptured at three [3] instants in time for observation having equal timeintervals from a direction perpendicular to the axis of rotation, i.e.revolution, of the object moving on a single plane coupled with arotation at a constant rate by using an output from the feature pointposition storage unit.

A feature of a second form of this invention resides in a moving bodyrecognition apparatus for recognizing a movement of a moving body bypositions of feature points on the moving body, comprising: an imageinput unit for capturing images of the moving body as an object; afeature point extraction unit for extracting feature points in theimages captured by the image input unit; a feature point positionstorage unit for storing known position data of extracted featurepoints; and a shape/movement recognition unit for calculating the actualpositions and movements of feature points of the object from knownposition data of three [3] feature points forming a right angle of theobject each in the images captured at any two [2] instants in time forobservation from a direction perpendicular to the axis of rotation, i.e.revolution, of an object moving on a single plane coupled with arotation by using an output from the feature point position storageunit.

A feature of a third form of this invention resides in a moving bodyrecognition apparatus for recognizing a movement of a moving body bypositions of feature points on the moving body, comprising: an imageinput unit for capturing images of the moving body as an object; afeature point extraction unit for extracting feature points in theimages captured by the image input unit; a feature point positionstorage unit for storing known position data of extracted featurepoints; and a shape/movement recognition unit for calculating the actualpositions and movements of feature points of the object from knownposition data of three [3] feature points of the object each in theimages captured at any three [3] instants in time for observation from adirection perpendicular to the axis of rotation, i.e. revolution, of anobject moving on a single plane coupled with a rotation by using anoutput from the feature point position storage unit.

A feature of a fourth form of this invention resides in a moving bodyrecognition apparatus for recognizing a movement of a moving body bypositions of feature points on the moving body, comprising: an imageinput unit for capturing images of the moving body as an object; afeature point extraction unit for extracting feature points in theimages captured by the image input unit; a feature point positionstorage unit for storing known position data of extracted featurepoints; and a shape/movement recognition unit for calculating the actualpositions and movements of feature points of the object from knownposition data of four [4] feature points of the object each in theimages captured at any three [3] instants in time for observation, bydetermining that the four [4] feature points do not exist on a singleplane, that the axis of rotation, i.e. revolution, of the object is notparallel to the direction of an orthogonal projection of the objectbetween any two [2] of the three [3] instants in time for observation,and that a rotation of the object between any two [2] of the three [3]instants in time for observation is not a rotation by an angle of onehundred and eighty degrees [180°] around an axis parallel to a plane onwhich the orthogonal projection is made.

BRIEF DESCRIPTION OF THE DRAWINGS

One of skill in the art can easily understand additional features andobjects of this invention from the description of the preferredembodiments and some of the attached drawings. In the drawings:

FIG. 1 (prior art) shows a concept of a conventional moving bodyrecognition apparatus;

FIG. 2 (prior art) shows a configuration of a conventional moving bodyrecognition apparatus;

FIG. 3 (prior art) shows an example in which a conventional moving bodyrecognition apparatus fails to establish correspondences between featurepoints captured by different image input units;

FIG. 4 is a block diagram of a moving body recognition apparatus of thisinvention;

FIG. 5 shows a universal relation between an object and its observationplane in an image input unit pursuant to the first form of thisinvention;

FIG. 6 shows a relation between an object and its observation planepursuant to the first form of this invention, in which feature point 0is fixed to the origin of a three-dimensional coordinate system;

FIG. 7 illustrates the orthogonal projections of feature points 0 and 1shown in FIG. 6 on the XY plane at three [3] instants in time forobservation pursuant to the first form of this invention;

FIGS. 8A and 8B show two [2] sets of solutions forming mirror imagetransformations of each other with respect to the X axis pursuant to thefirst form of this invention;

FIG. 9 is an explanatory chart showing the concept of a moving bodyrecognition apparatus of this invention;

FIG. 10 is a block diagram showing the global configuration of a movingbody recognition apparatus of this invention;

FIG. 11 is a block diagram illustrating in detail the configuration of afeature point extraction unit 25 shown in FIG. 10;

FIG. 12 is a block diagram illustrating in detail the configuration ofthe shape/movement recognition unit 27 shown in FIG. 10;

FIG. 13 illustrates an embodiment of sensor connections for the knowndata input unit 31 shown in FIG. 12;

FIG. 14 is a first one of flowcharts showing in a three part series thewhole processes of the movement/shape recognition unit 27 pursuant tothe first form of this invention;

FIG. 15 is a second one of flowcharts showing in a three part series thewhole processes of the

movement/shape recognition unit 27 pursuant to the first form of thisinvention;

FIG. 16 is a third one of flowcharts showing in a three part series thewhole processes of the movement/shape recognition unit 27 pursuant tothe first form of this invention;

FIG. 17 is a flowchart of an embodiment of recognition disablementprocess [1] pursuant to the first form of this invention;

FIG. 18 is a flowchart of the movement calculation unit 34 pursuant tothe first form of this invention;

FIG. 19 is an explanatory chart for the method of selecting theappropriate one [1] of two [2] rotation matrices R and R⁻¹ ;

FIG. 20 is a flowchart of the shape calculation unit 35 pursuant to thefirst form of this invention;

FIGS. 21A and 21B are explanatory charts for concave/convex data of anobject;

FIG. 22 is a flowchart of an embodiment of recognition disablementprocess [2] pursuant to the first form of this invention;

FIG. 23 shows a universal relation between an object and its observationplane in an image input unit pursuant to the second form of thisinvention;

FIG. 24 shows a relation between an object and its observation planepursuant to the second form of this invention, in which feature point 0is fixed to the origin of a three-dimensional coordinate system;

FIG. 25 shows that edges forming a right angle in a single image cannotproduce a set of definite solutions pursuant to the second form of thisinvention;

FIG. 26 illustrates and orthogonal projections of feature points 0, 1and 2 shown in FIG. 34 on the XY plane at two [2] instants in time forobservation pursuant to the second form of this invention;

FIG. 27 shows two [2] sets of solutions forming mirror imagetransformations of each other with respect to the X axis pursuant to thesecond form of this invention;

FIG. 28 illustrates the meaning of expression {7} for use in theorum 9;

FIG. 29 illustrates a method for determining a value range for angle α;

FIG. 30 illustrates a method for determining a value range of angle β;

FIG. 31 illustrates a method for determining the sign of sinθ, when m-nis odd;

FIG. 32 illustrates a method for determining the sign of sinθ, when m-nis even;

FIG. 33 shows a relation among m, n and the sign of sinθ, when m-n iseven;

FIG. 34 illustrates a method for determining the sign of sinθ, whenm-n=0;

FIGS. 35A and 35B illustrates a method for determining the sign of sinθ,when m-n=2;

FIG. 36 illustrates a method for determining the sign of sinθ, whenm-n=-2;

FIG. 37 is a first one of flowcharts showing in a three part series thewhole processes of the shape/movement recognition unit 27 pursuant tothe second form of this invention;

FIG. 38 is a second one of flowcharts showing in a three part series thewhole processes of the shape/movement recognition unit 27 pursuant tothe second form of this invention;

FIG. 39 is a third one of flowcharts showing in a three part series thewhole processes of the shape/movement recognition unit 27 pursuant tothe second form of this invention;

FIG. 40 is a flowchart of an embodiment of recognition disablementprocess {1} pursuant to the second form of this invention;

FIG. 41 is a flowchart of the movement calculation unit 34 pursuant tothe second form of this invention;

FIG. 42 is a flowchart of an embodiment of determining sign of sinθ;

FIG. 43 is a flowchart of the shape calculation unit 34 pursuant to thesecond form of this invention;

FIG. 44 is a flowchart of an embodiment of shape calculation process{1};

FIG. 45 is a flowchart of an embodiment of shape calculation process{2};

FIG. 46 is a flowchart of an embodiment of shape calculation process{3};

FIG. 47 is a flowchart of an embodiment of recognition disablementprocess {2} pursuant to the second form of this invention;

FIG. 48 illustrates the orthogonal projections of feature points 0, 1and 2 shown in FIG. 24 on the XY plane at three [3] instants in time forobservation pursuant to the third form of this invention;

FIGS. 49A and 49B show two [2] sets of solutions forming mirror imagetransformations of each other with respect to the X axis pursuant to thethird form of this invention;

FIG. 50 is a first one of flowcharts showing in a three part series thewhole processes of the shape/movement recognition unit 27 pursuant tothe third form of this invention;

FIG. 51 is a second one of flowcharts showing in a three part series thewhole processes of the shape/movement recognition unit 27 pursuant tothe third form of this invention;

FIG. 52 is a third one of flowcharts showing in a three part series thewhole processes of the shape/movement recognition unit 27 pursuant tothe third form of this invention;

FIG. 53 is a flowchart of an embodiment of recognition disablementprocess {1} pursuant to the third form of this invention;

FIG. 54 is a flowchart of the movement calculation unit 34 pursuant tothe third form of this invention;

FIG. 55 is a flowchart of the shape calculation unit 35 pursuant to thethird form of this invention;

FIG. 56 is a flowchart of an embodiment of recognition disablementprocess {2} pursuant to the third form of this invention;

FIG. 57 shows a universal relation between an object and its observationplane in an image input unit pursuant to the fourth form of thisinvention;

FIG. 58 shows a relation between an object and its observation planepursuant to the fourth form of this invention, in which feature point 0is fixed to the origin of a three-dimensional coordinate system;

FIG. 59 shows orthogonal projections of feature points on the XZ planepursuant to the fourth form of this invention;

FIGS. 60A and 60B show two [2] sets of solutions forming mirror imagetransformations of each other with respect to the XZ plane on which animage is projected pursuant to the fourth form of this invention;

FIG. 61 is a block diagram of a shape/movement recognition unit 27pursuant to the fourth form of this invention;

FIG. 62 is a first one of flowcharts showing in a three part series thewhole processes of the shape/movement recognition unit 27 pursuant tothe fourth form of this invention;

FIG. 63 is a second one of flowcharts showing in a three part series thewhole processes of the shape/movement recognition unit 27 pursuant tothe fourth form of this invention;

FIG. 64 is a third one of flowcharts showing in a three part series thewhole processes of the shape/movement recognition unit 27 pursuant tothe fourth form of this invention;

FIG. 65 is a flowchart of an embodiment of recognition disablementprocess {1} pursuant to the fourth form of this invention;

FIG. 66 is a first one of flowcharts showing in a two part series thewhole processes of the movement/shape calculation unit 39 pursuant tothe fourth form of this invention;

FIG. 67 is a second one of flowcharts showing in a two part series thewhole processes of the movement/shape calculation unit 39 pursuant tothe fourth form of this invention;

FIG. 68 is a flowchart showing processes for calculating elements atintersections between the first and second rows and the first and secondcolumns of a rotation matrix R comprising three [3] rows and three [3]columns;

FIG. 69 is a flowchart of an embodiment of recognition disablementprocess {2} pursuant to the fourth form of this invention;

FIG. 70 is a block diagram of a computer system embodying a moving bodyrecognition apparatus of this invention; and

FIG. 71 shows an environment for an experimental program verification.

DESCRIPTION OF THE PREFERRED EMBODIMENT Overview of the UnderlyingPrinciples

FIG. 4 is a block diagram of a moving body recognition apparatus of thisinvention.

The moving body recognition apparatus comprises a single image inputunit 15 for capturing an image of an object, a feature point extractionunit 16 for extracting feature points in an image outputted from theimage input unit 15, and a feature point storage unit 17 for storing theextracted feature points, thereby recognizing the movement of a movingbody from the known position data of the feature points.

Because first, second, third and fourth forms of this invention operateunder similar principles, they are all explained by referring to FIG. 4.

A First Form

A shape/movement recognition unit 18 recognizes a shape and a movementof an object. The shape/movement recognition unit 18 in a first form ofthis invention calculates the actual position and movement of the objectin a three-dimensional space, e.g. moving on a single plane coupled witha rotation at a constant speed, from the known position data of two [2]feature points, e.g. the X coordinate value of a feature point of anobject moving on the XY plane, each in images of the object captured atthree [3] instants in time for observation having equal time intervalsfrom a direction perpendicular to the axis of rotation.

The first form of this invention assumes, for example, that thedirection of an axis of rotation is the same as the direction of the Zaxis, that the direction of the movement of the rotating object is thesame as the direction of the X axis, that an object moves on the XZplane, and that the object is observed from the Y axis perpendicular tothe image plane, i.e. the Xz plane. Because of the earlier describedassumption of an orthogonal projection, a displacement in the X axisdirection is the same as a displacement observed on the image plane,although a displacement in the direction of the Y axis is unknown.

After one [1] of the two [2] feature points moves to the origin, theshape/movement recognition unit 18 calculates the angle of rotationaround the origin of the other one [1] of the two [2] feature points.

That is, the shape/movement recognition unit 18 in the first form ofthis invention obtains the X coordinate value of a first feature pointfrom the position data of an input image, and then calculates the Ycoordinate value of a second feature point after the first feature pointmoves to the origin and the angle of rotation around the origin of theobject, thereby obtaining the actual positions and movements of thefirst and second feature points.

A Second Form

The image input unit 15, the feature point extraction unit 16, and thefeature point storage unit 17 in a second form of this invention operateessentially the same manner as those in the first form of thisinvention. However, the shape/movement recognition unit 18 in the secondform of this invention calculates the actual positions and movements ofthree [3] feature points forming a right angle of an object in athree-dimensional space, from the known position data of three [3]feature points each in images captured at any two [2] instants in timefor observation from the direction perpendicular to the axis of rotationof the object moving on a single plane coupled with a rotation.

The basic differences of the second form of this invention from thefirst form are that the rotating speed of the object may not be constantand that object has three [3] feature points forming a right angle.Accordingly, the second form of this invention allows the actualpositions and movements of feature points of an object to be calculatedfrom the known position data of the three [3] feature points of theobject at any two [2] instants in time for observation.

The second form of this invention uses the same coordinate system asthat of the first form of this invention. As in the first form of thisinvention, the displacement of a feature point in the direction of the Xaxis is the same as the displacement observed on the image plane,although the displacement in the direction of the Y axis is unknown.

Also, as with the shape/movement recognition unit 18 in the first formof this invention, after one [1] of the three [3] feature points at theright angle moves to the origin, the shape/movement recognition unit 18in the second form of this invention calculates the Y coordinate valuesof the other two [2] feature points, the angle of rotation of the objectaround the origin from a first instant in time for observation to asecond instant in time for observation, thereby obtaining the actualpositions and movements of the three [3] feature points in thethree-dimensional space.

A Third Form

As with the third form of this invention, the image input unit 15, thefeature point extraction unit 16, and the feature point storage unit 17in a third form of this invention operate essentially the same manner asthose in the first form of this invention, whereas the shape/movementrecognition unit 18 in a third form of this invention only operatesdifferently from the shape/movement recognition unit 18 in the firstform of this invention. The shape/movement recognition unit 18 in thethird form of this invention calculates the positions and movements ofthe feature points of an object in a three-dimensional space, from theknown position data of three [3] feature points of an object each inimages captured at three [3] instants in time for observation from adirection perpendicular to the axis of rotation of the object moving ona single plane coupled with a rotation.

The third form of this invention can be said to correspond to a moregeneric case in the third form of this invention, in which three [3]0feature points of an object do not necessarily form a right angle andthe known position data at three [3] instants in time for observationare used for recognizing a moving body.

In other words, the second form of this invention is premised on a rightangle formed among three [3] feature points. However, even with thispremise, the second form of this invention can be applied to many cases.For instance, it is applicable to a case in which a TV camera attachedto a self-propelled vehicle observes a sidewall along its right of way,because in many cases a sidewall stands straight, thus having a rightangle. Not only a sidewall, but also many artificial buildings havetheir sides form right angles. Hence, the third form of this inventioncan be applied to a case in which a TV camera observes such a building.

The third form of this invention assumes the same coordinate system asthat used in the first form of this invention, where the direction ofthe movement of an object is the same as the direction of the X axis,the direction of the observation of an image is the same as thedirection of the Y axis, and the direction of the axis of rotation ofthe object is the same as the direction of the Z axis.

Of the three [3] feature points, one [1] moves to the origin, and the Ycoordinate values of the other two [2] feature points and the angles ofrotation of the object around the origin from a first instant in timefor observation to second and third instants in time for observation arecalculated, thereby obtaining the actual positions and movements of thethree [3] feature points in the three-dimensional space.

A Fourth Form

A fourth form of this invention represents the most generic case forrecognizing the movement of a moving body. The shape/movementrecognition unit 18 in the fourth form of this invention calculates fromthe known position data of four [4] feature points of an object movingwith a rotation each in orthogonally projected images at captured anythree [3] instants in time for observation, thereby obtaining the actualpositions and movements of the four [4] feature points in thethree-dimensional space.

Also, before calculating the positions and movements of the four [4]feature points, in order to confirm that the positions and movements canin fact be calculated, the shape/movement recognition unit 18 determinesthat the four [4] feature points are not on a single plane, that theaxis of rotation of an object is not parallel to the projectingdirection of an orthogonal projection between any two [2] instants intime for observation of the three [3] instants in time for observation,and that the rotation of the object between any two [2] instants in timefor observation of the three [3] instants in time for observation is nota rotation of one hundred and eighty degrees [180°] around an axisparallel to a plane on which an image is orthogonally projected.

The basic differences of the fourth form of this invention from thefirst, second and third forms of this invention are that the movement ofan object is not restricted to a single plane, and that neither therelation between the axis of rotation and the direction of observing theobject nor the rotating speed has any limitation.

Because of these differences, the fourth form of this invention requiresthe known position data of the four [4] feature points of the objecteach in images captured at three [3] instants in time for observationselected arbitrarily.

The fourth form of this invention uses the same coordinate system asthat of the first, second and third forms of this invention, where thedirection of observing the object is the same as the direction of the Yaxis. As in other forms of this invention, because of the assumption ofan orthogonal projection, the displacements in the directions of the Xand Z axes are the same as the displacements observed on the imageplane, although the displacement in the direction of the Y axis isunknown.

After moving any one [1] of the four [4] feature points to the origin,the shape/movement recognition unit 18 calculates the Y coordinatevalues of other three [3] feature points, the angle of rotation of theobject around the origin from a first instant in time for observation toa second instant in time for observation, and the angle of rotation ofthe object around the origin from a first instant in time forobservation to a third instant in time for observation, therebyobtaining the actual positions and movements of the four [4] featurepoints in the three-dimensional space.

Detailed Explanation of Actual Embodiments

This invention is based on a new theory, which this applicant originallysubmits and proves. The new theory shows that the shape (positions offeature points) and movement of an object can be calculated underlimited circumstances, as long as the feature points can be extracted atseveral instants in time for observation even if there is only one [1]image input unit.

The First Form

First, the new theory on the first form of this invention is explainedin detail.

The first form of this invention assumes that an object moves on asingle plane coupled with a rotation around a predetermined axis ofrotation and that an image input unit observes an object from adirection perpendicular to the axis of rotation of the object. The firstform of this invention can be applied to a lot of cases under suchassumptions. For instance, as described earlier, it is applicable to acase in which the image input unit is attached to a self-propelledvehicle running along various objects such as a wayside wall along ahighway, in which case an edge e.g. formed by the curb can be used asthe feature points.

Also, the image captured by the image input unit is approximated by anorthogonal projection. An approximation by an orthogonal projection ispretty good especially when an image input unit can capture an object ina narrow scope, because the distance between the image input unit andthe object is large. In addition, this theory is premised on the objecthaving a constant rotating speed.

Many a moving body is deemed to be standing still during a very shortlapse of time. Therefore, an assumption that a movement is constant isnatural. Besides, strictly speaking, a condition "The rotating speed ofan object is constant." is sufficient for a condition "A movement isconstant.", because parallel displacement components of a movement of anobject can be easily obtained from the movements of feature points on animage plane.

When a rotating speed is constant, the number of feature points to be incorrespondence can be reduced to two [2]. That is, when two [2] featurepoints each in images captured at three [3] instants in time forobservation having equal time intervals can establish correspondences, amoving body can be recognized. (This relates to theorem 1 to bedescribed later.) A single feature point does not allow the shape of anobject to be obtained. Also, three [3] images are necessary to confirm astatus that the movement is constant. Hence, two [2] feature points andthree [3] images are necessary premises.

FIG. 5 shows a universal relation between an object and its observationplane in an image input unit pursuant to the first form of thisinvention.

The direction of the Z axis on the image plane is defined as thedirection of the axis of rotation of the object, and the X axis is setin a direction perpendicular to the Z axis. More specifically, thedirection of the X axis is parallel to the direction of the movement ofa feature point. The origin on the image plane is by definition thepoint at which the X axis crosses the Z axis. The Y axis isperpendicular to the image plane, and passes through the origin on theimage plane. Because of an assumption of an orthogonal projection, theXYZ coordinate system can be displaced parallelly in any direction.

FIG. 6 shows a relation between an object and its observation planepursuant to the first form of this invention, in which one [1] offeature points of the object is fixed at the origin of athree-dimensional coordinate system.

Also, because of the assumption of an orthogonal projection, thedisplacement in the direction of the X axis is the same as thedisplacement observed on the image plane, although the displacement inthe direction of the Y axis in unknown. As such, one [1] of the featurepoints, i.e. a feature point 0, can be considered as fixed to the origin0, as shown in FIG. 6.

FIG. 7 illustrates the orthogonal projections of feature points 0 and 1shown in FIG. 6 on the XY plane at three [3] instants in time forobservation pursuant to the first form of this invention.

To obtain data on the shape and movement of an object, it is sufficientto calculate the displacement of a feature point having acorrespondence, i.e. feature point 0, and the angle of rotation aroundthe feature point. Because the displacement of feature point 0 can beobtained self-evidently, as described earlier, it is sufficient tocalculate an angle of rotation around feature point 0.

A moving body recognition apparatus pursuant to the first form of thisinvention obtains an X axis value and a Y axis value from the known dataof feature points of an input image, and calculates a Y axis value ofanother feature point after feature point 0 moves to an origin and anangle of rotation of the object around the origin.

The following is a description of the codes shown in FIG. 7.

Feature point 0 is a feature point of an object having moved to theorigin 0.

Feature point 1 is a feature point other than feature point 0.

u1 is a two-dimensional vector representing a feature point 1 at a firstinstant in time for observation.

v1 is a two-dimensional vector representing a feature point 1 at asecond instant in time for observation.

w1 is a two-dimensional vector representing a feature point 1 at a thirdinstant in time for observation. ##EQU1##

Here, although a subscript 1 in the above vector expression, e.g. in u1,is not necessary, it is put here for maintaining consistency withexplanations for other forms of this inventions. Also, a first vectorcomponent represents an x element, and a second vector componentrepresents a y element.

Rotation matrix R represents a rotation of an object around the originfrom a first instant in time for observation to a second instant in timefor observation.

This is equal to the rotation of an object around the origin from asecond instant in time for observation to a third instant in time forobservation, due to an assumption of a constant rotating speed. ##EQU2##

They have the following relations, v1=R u1, w1=R² u1 which represent

    ______________________________________                                        A first        A second A third                                               instant        instant  instant                                               in time R      in time R                                                                              in time R                                             for ob-        for ob-  for ob-                                               servation      servation                                                                              servation                                             u.sub.1 →                                                                             v.sub.1 →                                                                       w.sub.1                                               ______________________________________                                    

Accordingly, the problem can be formulated as follows: [Problem OfRecognizing A Body Moving On A Single Plane]

u1, v1, w1 are two-dimensional vectors whose first elements are known.

R is a two-dimensional rotation matrix.

v1=R u1, w1=R² u1

Obtain from the above, R and second elements of u1, v1, w1.

A next theorem 1 gives conditions for solving this problem.

[Theorem 1]

The conditions for solving the above movement/structure recognitionproblem are v11≠0 . . . {1} v11=±u11 and w11=u11 are not outstandingconcurrently. . . . {2}

These conditions comprise data solely on the observed X coordinatevalues.

Condition {1} means that the observation point mapped by v1 does notfall on the origin. That is, it means that two [2] feature pointsrelative from an observation point do not fall on the second instant intime for observation.

Condition {2} may not be clearly understood. However, it is actuallyequivalent to a next condition {3}.

[Theorem 2]

Condition {2} in theorem 1 is equivalent to condition {3}.

θ≠n π (where n is an integer) . . . {3}

Condition {3} means that the angle of rotation of an object between afirst instant in time for observation and a second instant in time forobservation is neither zero degrees [0°] nor one hundred and eightydegrees [180°].

A next system 2.1 is used in a proof of theorem 3.

[System 2.1]

Expression 10]

θ≠n π (where n is an integer) . . . {3} ##EQU3## being regular

Here, a subscript 1 represents the first row of a matrix.

A next theorem 3 presents an expression for calculating a set ofsolutions.

[Theorem 3]

Under the conditions of theorem 1, the next set of definite solutionscan be finalized. ##EQU4## and y component of a vector can be calculatedby the following equations. ##EQU5##

A next system 3.1 defines a relation between two [2] sets of solutions.

[System 3.1]

Assuming one [1] set of solutions comprises R, u1, v1 and w1, the otherset of solutions corresponding to it comprises: ##EQU6##

Theorem 3 and system 3.1 correspond to a fact that there are two [2]sets of solutions for the earlier described moving body recognitionproblem, i.e. a fact that the Y coordinate value of the other featurepoint is positive or negative, when feature point 0 in an orthogonallyprojected image falls on the origin. They also mean that the surface ofan object seen from a TV camera as an image input unit forms a convex ora concave.

FIGS. 8A and 8B show two [2] sets of solutions forming mirror imagetransformations of each other with respect to the X axis pursuant to thefirst form of this invention.

FIG. 8A shows a projection of a feature point shown in FIG. 6 to an XYplane. FIG. 8A illustrates a case in which the surface of an objectforms a convex. FIG. 8B illustrates a case in which the surface of anobject forms a concave, which is obtained by a mirror imagetransformation of the solution shown in FIG. 8A with respect to the Xaxis.

The proofs of theorems 1, 2 and 3 are illustrated in a sequence of aproposition 1, system 2.1, theorem 2 and theorem 3.

[Proposition 1]

Expression {1}in theorem 1 and expression {3}in theorem 2 are necessaryconditions for finalizing a solution.

v11≠0 . . . {1}

θ≠n π (where n is an integer) . . . {3}

[Proof Of Proposition 1]

To reiterate the conditions,

v1=R u1, w1=R² u1

(1) Proof that expression {1} is a necessary condition

By assuming that v11=0, it is shown that no set of definite solutionscan be obtained. ##EQU7##

Therefore, an equation ##EQU8##

needs to be solved.

The unknowns are θ, u12 and v12. Since the number of unknowns are three[3], which is greater than the number of equations, no set of definitesolutions can be obtained.

(2) Proof that expression {3} is a necessary condition

By assuming that θ=n π (where n is an integer), it is shown that nosolution can be finalized.

Since cosθ =±1, and sinθ=0, R=±I.

It is necessary to solve conditions

v₁ =±u₁, w₁ =u₁ and equations

v₁₂ =±u₁₂, w₁₂ =u₁₂

The unknowns are u12, v12 and w12. Since the number of unknowns arethree [3], which is greater than the number of the equations, no set ofdefinite solutions can be obtained.

[End of Proof]

[Proof of system 2.1]

Expression 14]

The contraproposition of a proposition ##EQU9## is proved. ##EQU10##Therefore, ##EQU11## [End of Proof] [Proof of theorem 2]

[Expression 15]

The contraproposition of a proposition that v11=±u11 and w11=u11 θ=nπ isproved.

( =) Because cosθ=±1 and sinθ=0, R=±I, v1=±u1, w1=u1, v11=±u11 andw11=u11. ##EQU12##

v₁₁ =cos (α+θ), w₁₁ =cos (α+2θ)

(i) when v11=u11, w11, =u11 ##EQU13## θ=2n πor m π, when either (1) or(2) is positive. ##EQU14## when both (1) and (2) are negative.

(2) - (1): θ=2(m-n)π

(ii ) when w11=-u11, V11 =11 ##EQU15## when either (1) or (2) ispositive θ=(2 n +1) π, mπwhen both (1) and (2) are negative ##EQU16##[End of Proof] [Proof of theorem 3]

[Expression 16]

From conditions v1 =R u1 and w1=R² u1 ##EQU17##

By using the first component of (1), u11 =2cosθv11-w11

From a condition of theorem 1, since v11≠0

cos θ=(u₁₁ +w₁₁) / (2v₁₁)

sin θ=+(1-cos² θ)

By using the second component of (1) ##EQU18## From conditions ##EQU19##[Proof of system 3.1][Expression 17] ##EQU20## are mirror imagetransformations of R, u1, v1 and w1 with respect to the X axis, theysatisfy the conditions for a set of solution. Therefore, they are infact a set of solutions. Since there are two [2] sets of solutionsaccording to theorem 3, it is known that the set of solutions other thanthe above is ##EQU21## [End of Proof] [Proof 2 of system 3.1]

[Expression 18]

If one solution is R, u1, v1 and w1 from theorem 3, it is known from thecalculations that the other solution is ##EQU22## [End of Proof]

So far, a new theory for use in the first form of this invention hasbeen explained in detail, by having the shape/movement recognition unit18 shown in FIG. 4 apply the new theory to a body moving on a singleplane coupled with a rotation having a constant speed of rotation, basedon the extraction result in an image of two [2] feature points at three[3] instants in time for observation having equal time intervals, theactual positions and movements of those feature points in athree-dimensional space are calculated, thereby enabling the movement ofa moving body to be recognized.

FIG. 9 is an explanatory chart showing the concept of a moving bodyrecognition apparatus of this invention.

An embodiment of the first form of this invention assumes that an imageinput unit 21, provided singularly, recognizes the movement of a movingbody rotating around a single axis, e.g. the Z axis, by observing themoving body from a direction perpendicular to the axis of rotation.

In FIG. 9, the image input unit 21 captures images of an object 20, andtransmits them to a moving body recognition unit 22. The moving bodyrecognition unit 22 extracts feature points of the object 20 from animage, and recognizes the shape and movement of an object from thepositions of feature points at plural instants in time for observation.The moving body recognition unit 22 outputs the result of recognizingthe object 20, as a recognition result 23.

FIG. 10 is a block diagram showing the global configuration of a movingbody recognition apparatus of this invention.

In FIG. 10, an image input unit 24 captures an input image and outputsit to a feature point extraction unit 25. The feature point extractionunit 25 extracts feature points from the input image, and outputs theposition data of the feature points in the input image. The featurepoint storage unit 26 outputs to a shape/movement recognition unit 27known its stored position data of the feature points at plural instantsin time for observation. The shape/movement recognition unit 27calculates the positions of the plural feature points in an actualthree-dimensional coordinate space and the movement of an object, andstores the result indicating the movement of an object in an objectmovement storage unit 28 and the result indicating the three dimensionalpositions of feature points in a feature point position storage unit 29.

FIG. 11 is a block diagram illustrating in detail the configuration of afeature point extraction unit 25 shown in FIG. 10.

In FIG. 11, the feature point extraction unit 25 comprises a spacefilter 25a and an edge point extraction unit 25b. There are a number ofmethods for extracting a feature point, e.g. by an edge and by a color.The moving body recognition apparatus of this invention may use any one[1] of or any combination of feature point extraction systems, and isnot restricted to use a particular method for extracting a featurepoint.

A typical method for extracting a feature point is to extract an edgepoint of an object. As shown in FIG. 11, the space filter 25a is appliedto an input image for extracting an outline image, enabling the edgepoint extraction unit 25b to detect as feature point data a kink of anedge and an intersection. For instance, in recognizing an object on asingle plane, the intersections between the horizon on an image planeand an edge in the vertical direction may be used as feature points.

In FIG. 10, the shape/movement recognition unit 27 uses the earlierdescribed new theory for calculating the actual positions of featurepoints and the movement of an object.

FIG. 12 is a block diagram illustrating in detail the configuration ofthe shape/movement recognition unit 27 shown in FIG. 10.

In FIG. 12, the shape/movement recognition unit 27 comprises a knowndata input unit 31 for receiving known data about the movement of anobject e.g. from a sensor, a feature point normalization position unit32 for obtaining the relative positions of other feature points when one[1] of plural feature points moves to the origin of a three-dimensionalcoordinate space, i.e. the normalized positions, a shape/movementdetermination unit 33 for determining a recognition enablement or arecognition disablement of the movement of an object, a movementcalculation unit 34 for calculating the angle of rotation around theaxis of rotation of the object by using an output from the feature pointnormalization unit 32, a shape calculation unit 35 for obtaining unknownposition data of feature points otther than the feature point on theorigin, and a feature point position reconstruction unit 36 foroutputting the movement of the object the and the positions of featurepoints in the three-dimensional coordinate space respectively to theobject movement storage unit 28 and the feature point position storageunit 29, by using outputs from the movement calculation unit 34 and thefeature point position normalization unit 32.

FIG. 13 illustrates an embodiment of sensor connections for the knowndata input unit 31 shown in FIG. 12.

FIG. 13 shows two [2] connecting systems (1) and (2). In connectingsystem (1), an external sensor 37 is connected directly to the knowndata input unit 31. In connecting system (2), an external memory 38 isconnected to the known data input unit 31 and the external sensor 37 isconnected off-line to the external memory 38. That is, the externalmemory 38 stores data from the external sensor 37, the external memorydisconnects itself from the external sensor 37. The external sensor 37may be a special electrical sensor, an optical sensor or an ultrasonicsensor for measuring an object. However, such a sensor is premised on aspecial relation between an object and the moving object recognitionapparatus of this invention and is not a general purpose sensor almightyfor any object.

The configuration of the moving body recognition apparatus illustratedin FIGS. 9 through 13 can be realized almost "as is" by a computersystem. First, the image input units 21 (shown in FIG. 9) and 24 (shownin FIG. 10) are realized by a TV camera, and the known data input unit31 is connected with a keyboard and a sensor other than a TV camera, asdescribed earlier. The feature point storage unit 26, the objectmovement storage unit 28 and the feature point position storage unit 29comprise a memory or a secondary storage apparatus such as a diskstorage apparatus, and the feature point extraction unit 25 is realizedby image processing hardware including the space filter 25a. Theshape/movement recognition unit 27 is realized by a generic CPU, and therecognition result 23 (shown in FIG. 9) corresponds to the movement ofan object and the positions of feature points stored respectively in theobject movement storage unit 28 and the feature point position storageunit 29.

FIGS. 14, 15 and 16 are flowcharts showing in a three part series thewhole processes of the movement/shape recognition unit 27 pursuant tothe first form of this invention.

In FIG. 14, on starting the process it is determined in step S40 whetheror not the known data input unit 31 shown in FIG. 8 has received anexpression {3}, i.e. θ=n π, where n is an integer. ttere, expression{3}' is generally determined to be outstanding or not only after acalculation of rotation matrix R, because various sensors (not explainedhere) are attached to the moving body recognition apparatus of thisinvention, it is determined by signals from those sensors whether or notthe rotation of an object from a first instant in time for observationto a second instant in time for observation is a rotation by zerodegrees [0°] or one hundred and eighty degrees [180°]. Here, the primesign for expression {3}' indicates that expression {3} used in theorem 2is transformed on an equivalent basis.

When the shape/movement recognition unit 21 determines in step S40 thatthe known data input unit 31 has received expression {3}', in step S41the known data input unit 31 outputs a deactivation signal to thefeature point normalization unit 32 and stores in the movementcalculation unit 34 recognition disablement data, thereby invoking arecognition disablement process {1}.

FIG. 17 is a flowchart of an embodiment of recognition disablementprocess {1} pursuant to the first form of this invention.

On start of recognition disablement process {1}, the movementcalculation unit 34 sends recognition disablement data to the featurepoint position reconstruction unit 36 in step S42. Then, the featurepoint position reconstruction unit 36 stores the recognition disablementdata in the object movement storage unit 28 and the feature pointstorage unit 29 in step S43, thereby ending the process.

Returning to FIG. 14, when the shape/movement recognition unit 27determines in step S40 that the known data input unit 31 has notreceived expression {3}' it determines in step S44 whether or not thefeature point storage unit 26 has stored the positions of two [2]feature points each in images captured at three [3] instants in time forobservation. The shape/movement recognition unit 27 repeats step S44until it determines that the feature point storage unit 26 has storedthe positions of two [2] feature points each in images captured at three[3] instants in time for observation. When the shape/movementrecognition unit 27 determines affirmatively (YES) in step S44, thefeature point storage unit 26 sends an activation signal to the featurepoint position normalization unit 32, thereby activating the featurepoint position normalization unit 32.

Continuing on to FIG. 15, in step S46, the feature point positionnormalization unit 32 receives the positions of two [2] feature points 0and 1 stored in the feature point storage unit 26 by the feature pointposition normalization unit 32. Then, the first components u11 v11 andw11 of u11, v1 and w1 are obtained from the image coordinate values offeature point 1, which is different from feature point 0, which falls onthe origin. The shape/movement determination unit 33 determines in stepS47 whether or not those first components u11, v11 and w11 satisfyexpressions {1} and {2}. If at least either one [1] of them is notsatisfied, the shape/movement determination unit 33 sends recognitiondisablement data to the movement calculation unit 34 in step S48,thereby invoking recognition disablement process {1} shown in FIG. 17.

As already explained in the description of theorem 2, expression {2} isequivalent to expression {3}. Therefore, it can be said that the checkof expression {3} in step S40 and the check of expression {2} in stepS47 form a duplication. However, since a sensor can perform the check instep S40, such a duplication is instituted. Also, no further calculationis performed, when in step S47 the shape/movement determination unit 33determines a recognition disablement by using only the positions offeature points in an image.

If the shape/movement determination unit 33 determines in step S47 thatboth expressions {1} and {2} are outstanding, the shape/movementdetermination unit 33 activates the movement calculation unit 34 in stepS49, thereby invoking respective processes of the movement calculationunit 34 and the shape calculation unit 35, in accordance with theorem 3.

FIG. 18 is a flowchart of the movement calculation unit 34 pursuant totile first form of this invention.

On starting the process, the movement calculation unit 34 calculatesrotation matrix R in step S50, and determines in step S51 whether or notany of the calculation results satisfies the known data regarding themovement of an object inputted to the known data input unit 31. Ifrotation matrix R does not satisfy the known data, recognitiondisablement process {1} shown in FIG. 17 is invoked.

As described earlier, a sensor (not illustrated as part of the movingbody recognition apparatus) inputs known data about the movement of anobject. Assume here, for instance, that an object stands still on asingle plane, and that a TV camera loaded on a running vehicle moves onthe same single plane. Because the moving vehicle may slip, the movementof the TV camera cannot be determined precisely. However, the directionof the relative movement of the running vehicle as against the stillbody can be determined. The relative movement of the still body issupplied as known data of the object via an external memory to the knowndata input unit 31. The movement calculation unit 34 obtains rotationmatrix R and its inverse rotation matrix R⁻¹, as two [2] sets ofsolutions , the constraint on the direction of a relative movementallows only one [1] set of solutions to be selected as the appropriateset of solutions.

FIG. 19 is an explanatory chart for the method of selecting theappropriate one [1] of two [2] rotation matrices R and R⁻¹.

More specifically, FIG. 19 shows a case in which a vehicle loaded with aTV camera is observed straight from the above, and illustrates how tocapture the image of a still object facing a direction perpendicular tothe moving direction of a running vehicle. It is assumed that a sensore.g. loaded on the running vehicle has already detected the movingdirection of the running vehicle. If the running vehicle moves to theleft, the TV camera observes that the object rotates clockwise, whichmeans that it is sufficient to select, as the calculated rotationmatrix, either R or R⁻¹ that represents a clockwise rotation. If, on theother hand, the running vehicle moves to the right, as opposed to thedirection shown in FIG. 19, the TV camera observes that the objectrotates counterclockwise, in which case it is sufficient to select, asthe calculated rotation matrix, either R and R⁻¹ that represents acounterclockwise rotation.

When the movement calculation unit 34 determines in step S51 that it canselect rotation matrix R satisfying known data of the object inputted inknown data input unit 31, the movement calculation unit 34 sendsrotation matrix R as its result to the shape calculation unit 35 and thefeature point position reconstruction unit 36.

FIG. 20 is a flowchart of the shape calculation unit 35 pursuant to thefirst form of this invention.

According to the first form of this invention shown in FIG. 20, oninvoking the process, the shape calculation unit 35 obtains u12, v12 andw12 as the second components of two-dimensional vectors u1, v1 and w1 instep S53. Then, in step S54, the shape calculation unit 35 sends thesecond components u12, v12 and w12 to the feature point positionreconstruction unit 36.

After the shape calculation unit 35 shown in FIG. 15 completes itsprocesses, the feature point position reconstruction unit 36 executesits processes in step S55 shown in FIG. 16. Here, from thetwo-dimensional vectors u1, v1 and w1 and rotation matrix R, as thecalculation result of the shape and movement of the object, the featurepoint position reconstruction unit 36 selects the values matching theknown data about the movement of the object inputted to the known datainput unit 31. If no such values exist, a recognition disablementprocess {2} is invoked.

Here, for explainin9 an example of known data, it is assumed that the TVcamera loaded on a vehicle moves on a single plane. It is furtherassumed here that it is known already whether the surface shape of thestill object observed from the TV camera is a convex or a concave. Forinstance, a telegram pole has a convex surface. The concave/convex dataon an object are supplied as known data of the still object to the knowndata input unit e.g. via an external memory. Although the shapecalculation unit 35 obtains two [2] sets of solutions, which are mirrorimage transformations of each other with respect to the observationplane, the concave/convex data on the object enables only one [1] set ofsolutions to be selected as the appropriate set of solutions.

FIGS. 21A and 21B are explanatory charts for concave/convex data of anobject.

Because two [2] feature point are captured in the first form of thisinvention, if the relative distances of the two [2] feature pointsobserved by a TV camera are known, either of the two [2] sets ofsolutions can be selected as the appropriate set of solutions.

FIG. 21A shows a case in which feature point 0 is closer to the TVcamera than feature point 1, and FIG. 2lB shows a case in which featurepoint 1 is closer to the TV camera than feature point 0. The known datainput unit 31 receives as the knowledge about the object either theserelative distances "as is" or the results measured e.g. by an ultrasonicsensor.

FIG. 22 is a flowchart of an embodiment of recognition disablementprocess {2} pursuant to the first form of this invention.

In step S56, the feature point position reconstruction unit 36 storesthe recognition disablement data in the object movement storage unit 28and the feature point position storage unit 29, thereby ending theprocess.

Returning to FIG. 16, when the feature point position reconstructionunit 36 selects a set of solutions satisfying the known data in stepS55, the feature point position reconstruction unit 36 stores in theobject movement storage unit 28 the values of elements of rotationmatrix R in the selected set of solutions and the in-image coordinatevalues of feature point 0 in step S57, and in the feature point positionstorage unit 29 the second component values u12, v12 and w12 of thetwo-dimensional vectors u1, v1 and w1 also in the selected set ofsolutions and the in-image coordinate values of the two [2] featurepoints 0 and 1 stored in the feature point position normalization unit32 in step S58, thereby ending the process.

In the above described embodiment, the movement calculation unit 34obtains two [2] sets of solutions simultaneously in step S50 (shown inFIG. 18) of calculating rotation matrix R. However, the above embodimentcan be reconfigured, such that the movement calculation unit 34 obtainsonly one [1] set of solutions in step S50.

In such an alternative embodiment, as an initial step, the feature pointposition reconstruction unit 36 calculates inverse rotation matrix R⁻¹inverse to rotation matrix R, which is in the other set of solutions notselected. ##EQU23##

Also, two-dimensional vectors u1', v1' and w1' in the other set ofsolutions which are the mirror image transformations of two-dimensionalvectors u1, v1 and w1 in the selected set of solutions with respect tothe X axis are calculated. ##EQU24##

This allows the feature point position reconstruction unit 36 to obtaintwo [2] sets of solutions.

As described above the first form of this invention enables the movementof an object moving on a single plane coupled with a rotation at aconstant rotating speed to be recognized from the positions of two [2]feature points each in images captured at three [3] instants in time forobservation having equal intervals. Also, as explained in thedescription of FIG. 15, the shape/movement determination unit 33 canimmediately determine the recognition enablement or the recognitiondisablement from the in-image positions of feature points.

The Second Form

The following is a description of the second form of this invention. Asdescribed earlier, the second form corresponds to a special case of afirst form of this invention, in which three [3] feature points of anobject forms a right angle. In such a case, the positions and movementsof feature points are calculated from the known position data at three[3] feature points at two [2] instants in time for observation.

The rotating direction, the moving direction and observing direction ofan object in relation with the coordinate axes are essentially the sameas those of the first form, and they are not explained again. Thegeneral relation between an object and an observation plane is similarto what is shown in FIGS. 23 and 24.

The only difference is that feature point 0 of the three [3] featurepoints 0, 1 and 2 falls at the peak point of a right angle formed as theintersection between the line segment between feature point 1 andfeature point 0 and the line segment between feature point 2 and featurepoint 0.

Next, the new theory for the second form of this invention is explainedbelow. As shown in theorem 8 described later, the second form of thisinvention allows a moving body to be recognized by makingcorrespondences between three [3] feature points in two [2] images.Here, the one [1] of the feature points at the peak of the right angleis displaced to the origin of the coordinate axis, and the Y coordinatevalues of other two [2] feature points and the rotating angle of theobject around the origin is calculated. By putting one [1] of thefeature points on the origin, three [3] feature points form a rightangle on the XY plane.

To observe the condition that edges form a right angle, three [3]feature points are necessary. Also, a single image cannot allow theshape of a moving body to be determined. Therefore, three [3] featurepoints and two [2] images are necessary conditions.

FIG. 25 shows that edges forming a right angle in a single image cannotproduce a set of definite solutions pursuant to the second form of thisinvention.

The actual positions of feature points 1 and 2 are on a single straightline of the observed X coordinate values. If feature point 1 isarbitrarily is selected, one [1] position of feature point 2 satisfyingthe condition is determined. This is because the triangle formed byfeature point 1, the origin (feature point 0) and feature point 2 is aright angled triangle. That is, there is an infinite number ofcombinations between feature points 0 and 1.

FIG. 26 illustrates the orthogonal projections of feature points 0, 1and 2 shown in FIG. 25 on the XY plane at two [2] instants in time forobservation pursuant to the second form of this invention.

More specifically, FIG. 26 shows a status of the actual positions andmovements of the feature points from the orthogonally projected pointsto the image axes of two [2] feature points other than the origin of anobject captured at two [2] instants in time for observation.

Signs used in FIG. 26 is explained.

Feature point 0 is a feature point of an object moved to the origin.

Feature points 1 and 2 are feature points on an object other thanfeature point 0.

u1 and u2 are two-dimensional vectors on the XY plane from the originrespectively to feature points 1 and 3 at a first point in time forobservation.

v1 and v2 are two-dimensional vectors on the XY plane from the originrespectively to feature points 1 and 2 at a second point in time forobservation. ##EQU25##

Rotation matrix R represents a two-dimensional rotation of the object onthe XY plane around the origin from the first instant in time forobservation to the second instant in time for observation, ##EQU26##

u2 represents a vector obtained by rotating u1 by π/2 or by -π/2. Thesolution of these two [2] cases have the relation of a lemma 1. Lemma 1describes two [2] sets of solutions, which form mirror imagetransformations of each other with respect to the observation plane asalready explained in the description of the first form of thisinvention.

[lemma 1]

The following solutions (1) and (2) are mirror image transformations ofeach other with respect to the X axis. (1) u2 is a solution obtained byrotating u1 by π/2. (2) u2 is a solution obtained by rotating u1 by-π/2.

FIG. 27 shows two [2] sets of solutions forming mirror imagetransformations of each other with respect to the X axis pursuant to thesecond form of this invention.

FIG. 27 shows that there are cases in which Y coordinate values of otherfeature points are positive and negative, when feature point 0 in theorthogonally projected image falls on the origin. This corresponds to acase in which the surface of an object forms either a convex or aconcave.

Therefore, in the second form of this invention, a recognition solution<2>is a mirror image transformation of a recognition solution <1>withrespect to the X axis, where recognition solution <2>is a solution tothe problem in which u2 is obtained by rotating u1 by -π/2 andrecognition solution <1>is a solution to the problem in which u2 is avector obtained by rotating u1 by π/2.

[Expression 13]

Therefore, when u1 is defined as: ##EQU27##

Then, u2 is defined as: . . . (a) ##EQU28## [Expression 14]

Also, when v1 is defined as: ##EQU29##

Then, v2 is defined as: . . . (b) ##EQU30##

By their relations can be stated as vi=R ui (where i=1, 2)

Therefore, the problem can be formulated as follows: [A Recognition OfAn Object Having A Right Angle At An Edge On A Plane] ui (where i=1, 2)are two-dimensional vectors whose first components are known. u2 is avector obtained by rotating u1 by π/2. R is a two-dimensional rotationmatrix. vi (where i=1, 2) are two-dimensional vectors whose firstcomponents are known. vi=R ui (where i=1, 2)

At this time, obtain the second components of ui and vi (where i=1, 2)and R.

The second element of vi (where i=1, 2) can be obtained directly from R,ui and the relation vi=R ui. Accordingly, it is sufficient to obtain thesecond component of ui (where i=1, 2) and R. That is θ, d1, d2 and α.

A next theorem 4 gives condition for solving the problem.

[Theorem 4]

The condition of allowing the above movement structure recognitionproblem is v11≠±u11 . . . {4} or v21≠±u21 . . . {5}.

If the coordinate values to be observed from the X axis satisfyconditions {4} and {5}, it is determined that a unique set of solutionscan be obtained.

FIG. 28 illustrates the meaning of expression {7} for use in theorem 5.

A next theorem 5 gives reasoning of conditions {4} and {5} of theorem 4.

[Theorem 5]

Conditions {4} and {5} are equivalent to next conditions {6} and {7}.θ≠n π. . . {6} and α+θ≠nπ-α. . . {7} (where n is an integer.)

Condition {7} is equivalent to a next condition (8). u11 v21+u21 v11≠O .. . {8}

Condition (6) means that the object does not rotate by 0 (zero degrees[0°] ) or π (one hundred and eighty degrees [180°]).

To make the meaning of condition {7} clearer, its negation α+θ=n π-α isconsidered. Since a shift of α+θ by 2π (three hundred and sixty degrees[360°]) does not produce any difference, a first case of α+θ=-α and asecond case of α+θ=-α+π need only be considered, as shown in FIG. 28.

In the first case of α+θ=-α, feature point 1 moves symmetrically withrescpect to the X axis, and feature point 2 moves symmetrically withrespect to the Y axis. The second case of α+θ=-α+π corresponds to a onehundred and eighty degree [180°] rotation of the first case of α+θ-α.

Condition (8) is used for theorem 6.

Described below is th deduction of formulae for calculating θ, d1, d2and α. The ranges of values α and sinθ need to narrowed for asubstantive numerical calculation.

FIG. 29 illustrates a method for determining a value range for angle α.

FIG. 30 illustrates a method for determining a value range for angle β.

Lemma 2 is for narrowing the value of angle α.

[Lemma 2]

Assuming u1 (where 1=1, 2) are two-dimensional vectors from the originand u1 is a vector obtained by rotating u1, the angle of rotation α fromthe X axis has a value within a value range for π/2 according to thesigns of the X coordinate values u11 and u21 of ui (where i=1, 2) asshown in FIG. 29.

By replacing u1 with v1 and α with β, the value of β=α+θ can benarrowed.

In lemma 3, the value of sine is narrowed by using the results of lemma2.

[Lemma 3]

From FIGS. 29 and 30, a pair of integers m and n (=0, 1, 2, 3) thatsatisfies two [2] sets of inequalities, (π/2)m ≧β<(π/2)(m+1) and(π/2)n≧α<(π/2)(n+1) is selected.

FIG. 31 illustrates a method for determining the sign of sinθ, when m-nis odd.

FIG. 32 illustrates a method for determining the sign of sine, when m-nis even.

A comparison between the values of m and n and a comparison between thevalues of u11 and v11 allow the sign of sin♭ to be determined from cases(1) and (2) below. (1) When m-n is odd, an integer p is defined asp=(m-n-1)/2

The sign of sinθ is determined from FIG. 31. (2) When m-n is even, thesign of sinθ is determined from FIG. 32. When the equalities areoutstanding in the above sets of inequalities for m and n, sinθ=0.

After being prepared by lemmas 2 and 3, theorem 6 for calculating theset of solutions is shown.

[Theorem 6 ]

Under condition of theorems 4 and 5, the solution is obtained asfollows, when u2 is a vector obtained by rotating u1 by π/2.

The following equations allow θ, d1, d2 and α to be calculated.cosθ=(u11u21+v11v21)/(u11v21+u21v11) sinθ=±(1-cos² θ)^(1/2) where thesign is determined by lemma 3. (1) When u11 o and u21≠0

tanα=(u11 cosθ-v11)/u11 sinθ. Combining with the value range for αobtained from lemma 2, the value of α can be uniquely determined.d1=u11/cosα d2=-u21/sinα(2) When u11=O ##EQU31## (3) When u21=0##EQU32##

As described in lemma 1, the set of solutions, in which u2 is a vectorobtained by rotating u1 by -π/2, is obtained by a mirror imagetransformation of the solution by theorem 6 with respect to the X axis.System 6.1 describes this more concretely.

[System 6.1]

The set of solutions, in which vector u2 is obtained by rotating vectoru1 by -π/2, is obtained as described in (1) and (2).

(1) Assuming that the set of solutions, when vector u2 in theorem 6 isobtained by rotating vector u1 by π/2 is R, ui and vi (where i=1, 2),the set of solutions, when vector u2 is obtained by rotating vector u1by -π/2 is represented by the next formulae. ##EQU33## which representsinverse rotation matrix of R. ##EQU34## which represents the mirrorimage transformations of u1 and v1.

(2) Assuming that the set of solutions, when vector u2 in theorem 6 isobtained by rotating vector u1 by π/2, is θ, di, d2 and α, the set ofsolutions, when vector u2 is obtained by rotating vector u1 by -π/2, is-δ, d1, d2 and -α.

Proofs of lemmas 1, 2 and 3, theorems 4, 5 and 6, and system 6.1 aredescribed below.

[Proof of Lemma 1]

Assuming that

(1) is a set of solution when vector u2 is obtained by rotating vectoru1 by π/2,

(2) is a set of solution when vector u2 is obtained by rotating vectoru1 by -π/2,

sets of solutions (1) and (2) are mirror image transformations of eachother with respect to the X axis, as shown in FIG. 27. ##EQU35##

Since vectors v1 and v2 are obtained by rotating vectors u1 and u2 byangle θ, ##EQU36## components of vectors ui and vi (where i=1, 2) areknown.

    d1 cos α=u11 . . .                                   (1)

    -d2 sin α=u21 . . .                                  (2)

    d1 cos (α+θ)=v11 . . .                         (3)

    -d2 sin (α+θ)=v21 . . .                        (4)

The values of the right sides of formulae (1) through (4) are alreadyknown.

The following are proofs of lemmas 2 and 3, as well as theorems 4, 5 and6, in a sequence of proposition 2, theorem 5, lemmas 2 and 3, andtheorem 6.

[Proposition 2]

Expressions {6} and {7} in theorem 5 are conditions necessary for havinga set of definite solutions.

[Proof of Proposition 2]

To reiterate the conditions, vi=R ui and wi=S ui, where i=1, 2.

(1) Proof that expression {6} is necessary

By assuming that {6} is not outstanding, it is shown that there is nodefinite solution.

By substituting θ=n π into formulae (3) and (4),

    ±d1 cos α=v11 . . .                               (3)'

    -+d2 sin α=v21 . . .                                 (4)'

where the signs are in the same order.

Since formulae (3)' and (4)' can be transformed into formulae (3)" and(4)" by formulae (1) and (2), formulae (1), (2), (3) and (4) areequivalent to formulae (1), (2), (3)" and (4)".

    d1 cos α=u. . .                                      (1)

    -d2 sin α=u21 . . .                                  (2)

    v11=±u11 . . .                                          (3)

    v21=±u21 . . .                                          (4)

where the signs are in the same order.

That is, the conditions are only formulae (1) and (2), whereas theunknowns are d1, d2 and a. Therefore, the solutions are indefinite.

(2) Proof that condition {7} is necessary

By assuming that {7} is not outstanding, it is shown that there is nodefinite solution.

By substituting (where n is an integer) into the left side of formulae(3) and (4),

d1 cos (α+θ)=±d1 cosα

-d2 sin (α+θ)=±d1 sinα

    ±d1 cosα=v11 . . .                                (3)'

    ±d2 sinα=v21 . . .                                (4)'

Therefore, formulae (1), (2), (3) and (4) are equivalent to formulae(1), (2), (3)" and (4)".

    d1 cosα=u11 . . .                                    (1)

    -d2 sinα=u21 . . .                                   (2)

v11=±u11 . . . (3)'

v21=-+u21 . . . (4)'

That is, the only remaining conditions are formulae (1) and (2), wherethe unknowns are d1, d2 and α. Therefore, the solutions are indefinite.

[End of Proof]

[Proof of theorem 5]

It is illustrated first that {4} or {5} is equivalent to {6} or {7}.

The contraproposition of this proposition is proved, which is asfollows.

v11=±u11, v21=±u21 (in the same order )

θ=n π or α+θ=nπ-α

Therefore, ##EQU37##

(1) and (2) below will illustrate the above.

(3) will illustrate that {7} and {8} are equivalent.

(1) A proof that V11=±u11, v21=±u21 (in the same order) θ=nπ

(←) (3)" and (4)" can be deducted from proof (1) for proposition 2.

(→) The formula members in proof (1) of proposition 2 are used.

(3)" and (4)" can be transformed into (3)" and (4)' by using (1) and(2). Combining them with (3) and (4),

[Expression 21]

d1 cos (α+θ)=±d1 cosα

-d2 sin (α+θ)=±d2 sinα

That is, ##EQU38##

By using these formulae, sinθ is calculated as follows. ##EQU39##

Therefore, θ=nπ

(2) A proof that V11=±u11, v21=-=u21 (the same order) α+θ=nπ-α

(←) This has already been proved in proof (2) of proposition 2.

(→) The formula numbers in proof (1) of proposition 2 are used.

(3)" and (4)" can be transformed into (3)' and (4)'. Combining them with(3) and (4),

[Expression 22]

d1 cos (α+β)=±d1 cosα

=d2 sin (α+β)=±d2 sinα

That is, ##EQU40## (where n is an integer.)

(3) A proof that {7} and {8} are equivalent.

Substituting (1) through (4) into

u11v21+u21v11

=-d1 d2 {cos α sin (α+θ)+sinα cos (α+θ)}

=-d1 d2 sin (2α+θ)

α+θ=nπ-α (where n is an integer.)

2α+θ=nπ(wherein n is an integer.)

sin (2α+θ)=0

u11v21+u21v11=0

    α+θ=nπ-α (where n is an integer) . . . {7} u11v21+u21v11≠0 . . . {8}

[End of Proof]

[Proof of lemma 2]

FIG. 29 summarizes the result of examining signs of u11 and u21, whenthe value of α is α=0, 0<α<π/2, α=π/2, π/2<α<π, α=π, π<α<3π/2, α=3π/2,3π/2<α<2π.

[End of Proof]

[Proof of lemma 3]

(π/2)m≦β<(π/2)(m+1) and (π/2)n≦α<(π/2)(n+1)

where m and n are integers satisfying

0≦m≦3 and 0≦n≦3.

Because θ=β-α,

    (π/2)(m-n)-π/2≦θ<(π/2)(m-n)+π/2 . . . (*)

(1) If m-n is odd, it can be transformed into

m-n=2p+1, where p is an integer.

That is, p=(m-n-1)/2.

Substituting this into (*), pπ<θ<(p+1)π.

Therefore, FIG. 31 is obtained.

(2) If m-n is even, because 0≦m≦3 and 0≦n≦3, --3≦m-n≦3. Since, m-n iseven, there are only three [3] cases, which are m-n=0, 2 and -2.

FIG. 33 shows a relation among m, n and the sign of sinθ, when m-n iseven.

More specifically, FIG. 33 shows the conditions for determining the signof sinθ, by listing the possible combinations of m and n for these three[3] cases.

When u11 and v11 have an equality in the conditions shown in FIG. 33,the value of sinθ is zero [0].

As described earlier, FIG. 32 shows a method for determining the sign ofsinθ, when m-n is odd. FIG. 32 is obtained as a summary of FIG. 33.

FIG. 34 illustrates a method for determining the sign of sinθ, whenm-n=0.

The following is a description of the process for obtaining FIG. 33.Basically, depending on the values of m and n, the ranges of positionsof u1 and v1 are drawn, thereby obtaining the inequalities between u11and v11 capable of narrowing the value range for angle θ.

(a) When m-n=0, from (*), -π/2<θ<π/2. There are four [4] Gases shown inFIG. 34.

By comparing the value of u11 with the value of v11, the value of θ canbe narrowed.

FIG. 35 illustrates a method for determining the sign of sinθ, whenm-n=2. (b) When m-n=2, from (*), π/2<θ<3π/2. There are two [2] casesshown in FIG. 35.

By comparing the values of |u11| with the value of |v11|, the value of θcan be narrowed.

FIG. 36 illustrates a method for determining the sign of sinθ, whenm-n=-2. (c) When m-n=-2, from (*), -3π/2<θe<-π/2. There are two [2]cases shown in FIG. 36.

By comparing the value of |u11| with the value of |v11|, the value of θcan be narrowed.

[End of Proof]

[Proof of theorem 6]

By a cross multiplication between (1) and (3),

    u11cos(α+θ)=v11cosα. . .                 (5)

By a cross multiplication between (2) and (4),

    u21sin(α+θ)=v21sinα. . .                 (6)

(1) When u11≠0 and u21<0

Since α is not integer times of π/2 from FIG. 29,

cosα≠0, sinα≠0

By expanding (5) and dividing both sides by cosα,

    u21(cosθtanαsinθ)-v11 --u11tanαsinθ=v11--u11cosθ. . .         (5)'

By expanding (6) and dividing both sides by sinα,

    u21 (cosβ+colα·sinθ)=v21 u21 cotα·sinθ=v21 -u21 cosθ. . .   (6)'

By multiplying both sides of (5)' by corresponding sides of (6)',

    -u11u21 sin.sup.2 θ=(v11-u11 cosθ) (v21-u21 cosθ) (u11v21+u21v11) cosθ=u11u21+v11v21 . . .            (7)

    Because u11v21+u21v11≠0 . . .                        (5)

    cosθ=(u11u21+v11v21)/(u11v21+u21v11) . . .           (8)

    sinθ=±(1-cos.sup.2 θ).sup.1/2. . .          (9)

The sign of (9) can be obtained from lemma 2.

Since sinθ≠0 from (5)' and {6}.

tanα(u11cosθ-v11)/u11sinθ

By combining the value range for α obtained from lemma 3, only one [1]value of α can be determined.

    From (1), d1=u11/cosα. . .                           (10)

    From (2), d2=-u21/sinα. . .                          (11)

(2) When u11=0

[Expression 23]

From lemma 2, α=π/2 (when u21<0)

3π/2 (when u21<0)

Substituting cosα=0, sinα=±1 into (1) through (4).

    0=u11 . . .                                                (1)'

    -+d2=u21 . . .                                             (2)'

    -+d1 sin θ=v11 . . .                                 (3)'

    -+d2 cos θ=v21 . . .                                 (4)'

That is, the left side of (7)=d1 d2 sinθ cosθ=the right side of (7)

Therefore, (7) is outstanding in this case, too. As well, (8) and (9)are outstanding.

Since sinθ≠0 in (3)' (from {6})

    d1=|v11/sinθ|. . .                 (10)'

    from (2)'d2=|u21|. . .                   (11)'

(3) When u21=0

[Expression 24]

From lemma 2, α=0 (when u11>0)

=π(when u11<0)

Substituting cosα=±1 and sinα=0 into (1) through (4),

    ±d1=u11 . . .                                           (1)'

    0=u21 . . .                                                (2)'

    ±d1 cos θ=v11 . . .                               (3)'

    +d2 sin θ=v21 . . .                                  (4)'

That is, the left side of (7)=-d1 d2 sinθ cosθ=the right side of (7).

Therefore, (7) is outstanding in this case, too. As well, (8) and (9)are outstanding.

    From (1)", d1=|u11|. . .                 (10)"

    In (4)", since sinθ≠0 (from {6})

    d2=|v21/sinθ|. . .                 (11)"

[End of Proof]

So far, the new theory for use in the second form of this invention hasbeen described in detail. By having the shape/movement recognition unit18 shown in FIG. 4 apply the new theory to a recognition of an objectmoving on a single plane coupled with a rotation, based on the result ofextracting three [3] feature points forming a right angle each in imagescaptured at two [2] points in time for observation, it becomes possibleto calculate the actual positions and movements of these feature pointswithin a three-dimensional space and to recognize the movement of amoving body.

The concept of a moving body recognition apparatus in the second form ofthis invention is similar to that in the first form of this invention.Also, an embodiment of the second form of this invention and thedetailed configuration of the shape/movement recognition unit 27 aresimilar to those of the first form of this invention, which are shown inFIGS. 9 through 13. Accordingly, their descriptions are omitted.

FIGS. 37, 38 and 39 are flowcharts showing in a three part series thewhole processes of the shape/movement recognition unit 27 pursuant tothe second form of this invention.

In FIG. 37, when the processes start, the shape/movement recognitionunit 27 determines in step S60 whether or not the known data input unit31 shown in FIG. 12 has received at least one [1] of expressions {6}',{7}' and {8}'. As with the first form of this invention, a signal from asensor allows the determination to be made. The relations betweenexpressions {6}' through {8}' and {6} through {8} are the same as thosedescribed earlier.

If the shape/movement recognition unit 27 determines in step S60 thatthe known data input unit 31 has received at least one [1] ofexpressions {6}', {7}' and {8}', the known data input unit 31 outputs instep S61 a deactivation signal to the feature point positionnormalization unit 32, and stores recognition disablement data in themovement calculation unit 34, thereby invoking a recognition disablementprocess {1} shown in FIG. 40. The flow of recognition disablementprocess {1} pursuant to the second form of this invention shown in FIG.40 is essentially the same as that shown in FIG. 17 pursuant to thefirst form of this invention.

FIG. 40 is a flowchart of an embodiment of recognition disablementprocess {1} pursuant to the second form of this invention.

On start of recognition disablement process (1), the movementcalculation unit 34 sends recognition disablement data to the featurepoint position reconstruction unit 36 in step S62. Then, the featurepoint position reconstruction unit 36 stores the recognition disablementdata in the object movement storage unit 28 and the feature pointstorage unit 29 in step S63, thereby ending the process.

Returning to FIG. 37, if the shape/movement recognition unit 27determines in step S60 that the known data input unit 31 has receivednone of {6}', {7}' and {8}', the shape/movement recognition unit 27determines in step S64 whether or not the feature point storage unit 26has stored all data on the positions of three {3} feature points in eachof the images captured at two {2} instants in time for observation. Theshape/movement recognition unit 27 repeats step S64 until it determinesthat the feature point storage unit 26 has stored the positions of three[3] feature points each in images captured at two [2] instants in timefor observation. When the shape/movement recognition unit 27 determinesin step S64 that the feature point storage unit 26 has stored all data,the shape/movement recognition unit 27 sends an activation signal to thefeature point position normalization unit 32 in step S65, therebyactivating the feature point position normalization unit 32.

Continuing on to FIG. 38, the feature point position normalization unit32 stores in step S66 data on the positions of three [3] feature points0, 1 and 2, which the feature point position normalization unit 32stores in the feature point storage unit 26, and obtains firstcomponents of two-dimensional vectors ui and vi (where i=1, 2) as Xcoordinate values of feature points 1 and 2, which are different fromfeature point 0, after feature point 0 moves to the origin and the otherfeature points 1 and 2 are parallelly displaced. Therefore, the Xcoordinate values of feature points 1 and 2 after the displacement inparallel with feature point 0 are obtained by subtracting the Xcoordinate value of feature point 0 before the parallel displacementfrom the X coordinate values of feature points 1 and 2 before theparallel displacement.

Then, the shape/movement recognition unit 27 has the shape/movementdetermination unit 33 determine in step S67 whether or not these firstcomponents satisfy either expression {4} or expression {5}. If theysatisfy neither expression {4} nor expression {5}, the shape/movementdetermination unit 33 sends recognition disablement data to the movementcalculation unit 34 in step S68, thereby invoking recognitiondisablement process {1} shown in FIG. 40.

As explained in the description of theorem 5, expressions {4} and {5}are equivalent to expressions {6} and {7}. Therefore, it can be saidthat the check in step S67 and the check in step S60 form a duplication.However, since the check in step S60 can be performed by a sensor, sucha duplication is instituted. Also, no further calculation is performed,when the shape/movement determination unit 33 determines in step S67 arecognition disablement (leading to recognition disablement process {1})by using only the positions of the three [3] feature points each inimages captured at two [2] instants in time for observation.

If the shape/movement determination unit 33 determines in step S67 thateither expression {4} or expression {5} is outstanding, theshape/movement determination unit 33 activates the movement calculationunit 34 in step S69, thereby invoking respective processes of themovement calculation unit 34 and the shape calculation unit 35, inaccordance with lemma 3 and theorem 6.

FIG. 41 is a flow-chart of the movement calculation unit 34 pursuant tothe third form of this invention.

On start of its process, the movement calculation unit 34 calculates aninteger n for determining the value range for 60 by using FIG. 29 instep S70, and an integer m for determining the value range for β byusing FIG. 30 in step S71. Then, the movement calculation unit 34executes a process for determining the sign of sinθ0 in step S102 orS105 shown in FIG. 42 before step S76.

FIG. 42 is a flowchart of an embodiment of determining the sign of sinθ.

After completing step S71 shown in FIG. 41, the movement calculationunit 34 determines in step S72 whether an integer m-n is odd or even.When the movement calculation unit 34 determines in step S72 thatinteger m-n is add, the movement calculation unit 34 obtains the valueof an integer p in step S73, and determines in step S74 the sign of sinθby using FIG. 40 depending on whether integer p is odd or even. When themovement calculation unit 34 determines in step S72 that integer m-n iseven, the movement calculation unit 34 determines in step S75 the signof sinθ by using FIG. 32.

Returning to FIG. 41, the movement calculation unit 34 obtains allelements of rotation matrix R in step S76, and determines in step S77whether or not rotation matrix R or its inverse rotation matrix R⁻¹satisfies the known data of an object inputted to the known data inputunit 31. When the movement calculation unit 34 determines negatively(NO) in step S77, recognition disablement process (1) shown in FIG. 40is invoked. When the movement calculation unit 34 determinesaffirmatively (YES) in step S77, the movement calculation unit 34 sendsdata on angle α and rotation matrix R to the shape calculation unit 35and the feature point position reconstruction unit 36 in step S78.

As with the second form of this invention, the selection of either one[1] of two [2] sets of solutions, e.g. a selection between a rotationmatrix R and its inverse rotation matrix R⁻¹ in the second form of thisinvention, is pari passu the description of FIG. 19 pursuant to thefirst form of this invention.

FIG. 43 is a flowchart of the shape calculation unit 35 pursuant to thesecond form of this invention.

On start of its process, the shape calculation unit 35 determines instep S80 whether or not both u11 and u21 have non-zero values. If theshape calculation unit 35 determines affirmatively (YES) in step S80,the shape calculation unit 35 invokes shape calculation process {1}shown in FIG. 44 before continuing on to step S94.

FIG. 44 is a flowchart of an embodiment of shape calculation process{1}.

The shape calculation unit 35 obtains the angle between two-dimensionalvector u1 and the X axis, in step S81, and then the absolute values d1and d2 of two-dimensional vectors u1 and u2, in step S82.

Returning to FIG. 43, if the shape calculation unit 35 determinesnegatively (NO) in step S80, the shape calculation unit 35 determines instep S83 whether or not u11=0. If the shape calculation unit 35determines affirmatively (YES) in step S83, the shape calculation unit35 invokes shape calculation process {2} shown in FIG. 54 beforecontinuing on to step S94.

FIG. 45 is a flowchart of an embodiment of shape calculation process{2}.

The shape calculation unit 35 determines in step S84 whether or not u21is smaller than zero [0]. If it determines affirmatively (YES) in stepS114, the shape calculation unit 35 sets the value of angle α equal toπ/2 in step S85. If it determines negatively (NO) in step S84, the shapecalculation unit 35 sets the value of angle α equal to 3π/2 in step S86.On completing either step S85 or step S86, the shape calculation unit 35obtains the absolute values d1 and d2 in step S87.

Returning in FIG. 43, if the shape calculation unit 35 determinesnegatively (NO) in step S83, the shape calculation unit 35 invokes shapecalculation process {3} shown in FIG. 46 before continuing on to stepS94.

FIG. 46 is a flowchart of an embodiment of shape calculation process{3}.

The shape calculation unit 35 determines in step S90 whether or not u11is smaller than zero [0]. If it determines affirmatively (YES) in stepS90, the shape calculation unit 35 sets the value of angle α equal tozero [0] in step S91. If it determines negatively (NO) in step S90, theshape calculation unit 35 sets the value of angle α equal to π in stepS92. On completing either step S91 or step S92, the shape calculationunit 35 obtains the absolute values d1 and d2 in step S123.

Returning to FIG. 43, after completing shape calculation process {1},{2} or {3}, the shape calculation unit 35 calculated the secondcomponents u11 and u21 of two-dimensional vectors u1 and u2 in step S94and the second components v11 and v21 of two-dimensional vectors v1 andv2 in step S95. Then, the shape calculation unit 35 sends those secondcomponents to the feature point position reconstruction unit 36 in stepS96.

Returning to FIG. 38, when the shape/movement recognition unit 27completes the process of the shape calculation unit 35, theshape/movement recognition unit 47 continues on to step S97 shown inFIG. 39.

The feature point position reconstruction unit 36 identifies thetransferred set of recognition solutions as a set of recognitionsolutions <1> in step S97, obtains a set of recognition solutions <2> instep S98, and determines in step S99 whether or not either one [1] ofthe sets of recognition solutions <1> and <2> satisfies the known datastored in the known data input unit 31. The feature point positionreconstruction unit 36 selects either recognition solution <1> orrecognition solution <2> by concave/convex data of an object.

If the feature point position reconstruction unit 36 determines in stepS99 that neither set of recognition solutions <1> and <2> satisfies theknown data stored in the known data input unit 31, the shape calculationunit 35 invokes recognition disablement process {2} shown in FIG. 47,which is essentially the same as those pursuant to the first and secondforms of this invention shown in FIGS. 22 and 33.

FIG. 47 is a flowchart of an embodiment of recognition disablementprocess {2} pursuant to the second form of this invention.

In step S101, the feature point position reconstruction unit 36 storesthe recognition disablement data in the object movement storage unit 28and the feature point position storage unit 29, thereby ending theprocess.

Returning to FIG. 39, if the feature point position reconstruction unit36 determines in step S99 that either of the sets of recognitionsolutions <1> and <2> satisfies the known data stored in the known datainput unit 31, the feature point position reconstruction unit 36identifies it as a selected set of recognition solutions. Then, in stepS102, the feature point position reconstruction unit 36 stores in theobject movement storage unit 28 rotation matrix R in the selected set ofrecognition solutions together with the in-image coordinate values offeature point 0 stored in the feature point position normalization unit32. Thereafter, in step S103, the feature point position reconstructionunit 36 stores in the feature point position storage unit 29 the secondcomponents of the two-dimensional vectors in the selected set ofrecognition solutions together with the in-image coordinate values offeature points 0, 1 and 2 stored in the feature point positionnormalization unit 32, thereby completing its process.

Thus, the shape/movement recognition unit 27 ends its process.

Although set of recognition solutions <1> is obtained first in the aboveembodiment, it goes without saying that there is another embodiment inwhich set of recognition solutions <2> is obtained first, which requiresonly the X axis to have the opposite direction.

As described above, the second form of this invention allows themovement of an object moving on a single plane coupled with a rotationto be recognized from the positions of three [3] feature points forminga right angle each in images captured at two [2] instants in time forobservation.

Also, as explained in the description of FIG. 31, the shape/movementdetermination unit 33 can immediately determine the recognitionenablement or recognition disablement of the moving body from thein-image positions of feature points.

The Third Form

FIG. 23 shows a universal relation between an object and its observationplane in an image input unit pursuant to the third form of thisinvention.

FIG. 24 shows a relation between an object and its observation planepursuant to the third form of this invention, in which one [1] offeature points of the object is fixed at the origin of athree-dimensional coordinate system.

Embodiments of the third form of this invention are explained below. Asdescribed earlier, the third form of this invention is different fromthe first form of this invention, in that the actual position andmovement of feature points in an object are obtained from the knownposition data of three [3] feature points of an object at any three [3]instants in time for observation, because the rotating speed of anobject does not have to be constant and because the three [3] featurepoints do not form a right angle. The movement and the rotation of anobject and the relation between the direction of observing an object andthe coordinate axes are the same as those in the first and second formsof this invention.

The relations between an object and its observation plane pursuant tothe third form of this invention are the same as those shown in FIGS. 23and 24 pursuant to the first and second forms of this invention, exceptthat the three [3] feature points do not form a right angle.

The assumption that images are obtained as orthogonally projected imagesobserved from the direction of the Y axis is the same as that for thefirst form of this invention. Therefore, the displacement in thedirection of the X axis is the same as that observed on the image plane.Therefore, as explained in the description of FIG. 24, after one [1] ofthe three [3] feature points, e.g. feature point 0, moves to the origin,the Y coordinate values of other two [2] feature points, e.g. featurepoints 1 and 2, the angle of rotation around the origin of the objectfrom a first instant in time for observation to a third instant in timefor observation and the angle of rotation around the origin of theobject from the first instant in time for observation to a third instantin time for observation are calculated.

Described below in detail is the new theory used in the third form ofthis invention. It is necessary first to analyze the number of featurepoints and the number of images that must exist to establishcorrespondences. A theorem 7 gives the answer to the analysis.

[Theorem 7]

To be able to have a definite solution, it is necessary to establishcorrespondences of three [3] feature points each in three [3] images.

A system 7.1 clarifies the meaning of theorem 7.

[System 7.1]

A theorem 7 satisfies following propositions (1) and (2). Proposition(1) Two [2] images produce no set of definite solutions, no matter howmany feature points there are. Proposition (2) Two [2] feature pointsproduce no set of definite solutions, no matter how many images thereare.

[Proof of theorem 7]

Assuming that m feature points each in n images have correspondences,the number of equations need to be greater than the number of unknowns.The following illustrates why conditions of m and n are m≧3 and n≧3.

As described later, assume that a feature point 0 moves to the origin.

Codes are defined as follows.

Vkj represents a vector from the origin to a j-th feature point in ak-th image, where k=1, . . . , n and j=1, . . . , m-1.

Rotation matrix Ri represents a rotation of an object from a first imageto an i-th image, where i=2, . . . , n.

That is, a relation such as

    ______________________________________                                        A first          R.sub.i                                                                             An i-th                                                instant                instant                                                in time                in time                                                for ob-                for ob-                                                servation              servation                                              v.sub.ij         →                                                                            v.sub.ij                                               ______________________________________                                    

(where i=2, . . . , n and j=1, . . . , m-1) can be expressed as vij=RiVij (where k=1, . . . , n and j=1, . . . , m-1) . . . (1)

Since unknowns are θi, which is an angle of rotation represented byrotation matrix Ri, (where i=2, . . . , n,) and third components (i.e. Ycomponents) of vectors Vkj, (where k=1 , . . . , n and j=1, . . . , m1,)the number of unknowns is (n-1)+n(m-1)=mn-1

Because two [2] linear equations are obtained from each combination of iand j in expression (1), the number of equations is 2(m-1)(n-1). Thenumber of equations must not be less than the number of unknowns to havea set of definite solutions.

That is, the difference obtained by subtracting the number of unknownsfrom the number of equations must not be negative. Therefore, (thenumber of equations)-(the number ofunknowns)=2(m-1)(n-1)-(mn-1)=(m-2)(n-2)-1≧0

This is transformed into (m-2)(n-2)≧1

Since both m and n are positive integers, m-2≧1 and n-2≧1. Hence, m≧3and n≧3.

[End of Proof]

Although system 7.1 is a direct result of theorem 7, it can be directlyproved. The direct proof is explained below.

[Proof of System 7.1]

(1) A proof that two [2] observations of n points produce no definitesolution.

The relations between two-dimensional vectors for n-1 points other thanthe origin on a rigid body and a rotation represented by rotation matrixR are expressed as follows: ##STR1##

Conditional equations are transformed into ##EQU41##

That is, ##EQU42##

The unknowns are θ, yi and yi', where i=1, . . . and n-1.

Since the number of conditional equations is 2n-2 whereas the number ofunknowns is 2n-1, there is no set of definite solutions.

(2) It is shown that n observations at two [2] points produce no set ofdefinite solutions.

The relation between two-dimensional vectors of a single point otherthan the origin on a rigid body and a rotation are expressed as ##STR2##

Conditional equations are ##EQU43##

That is, ##EQU44##

The unknowns are θj, y1 and yj, where j=2, . . . n.

Since the number of equations is 2n-2 whereas the number of unknownvariables is 2n-1, there is no set of definite solutions.

[End of Proof]

FIG. 48 illustrates the orthogonal projections of feature points 0, 1and 2 shown in FIG. 24 on the XY plane at three [3] instants in time forobservation pursuant to the third form of this invention.

To calculate the data on the shape and movement of an object, it issufficient to calculate the displacement of feature point 0 to theorigin and the angle of rotation around the origin. Since thedisplacement of feature point 0 can be easily obtained as describedearlier, the angle of rotation around feature point 0 need only becalculated.

A moving body recognition apparatus pursuant to the third form of thisinvention calculates and outputs an angle of rotation of an objectaround the origin and a Y coordinate value of a feature point whenfeature point 0 moves to the origin, in addition to the X and Zcoordinate values of feature points in the input images.

The following is a description of the codes shown in FIG. 48.

Feature point 0 is a feature point of an object moved to origin 0.

Feature points 1 and 2 are feature points on the object other thanfeature point 0.

u1 and u2 are two-dimensional vectors respectively representing featurepoints 1 and 2 at a first instant in time for observation.

v1 and v2 are two-dimensional vectors respectively representing featurepoints 1 and 2 at a third instant in time for observation.

w1 and w2 are two-dimensional vectors respectively representing featurepoints 1 and 2 at a third instant in time for observation.

R is a rotation matrix representing a rotation of the object around theorigin from the first instant in time for observation to the thirdinstant in time for observation, which is expressed as: ##EQU45##

S is a rotation matrix representing a rotation of the object around theorigin from the first instant in time for observation to the thirdinstant in time for observation, which is expressed as: ##EQU46##

These are related by the following expressions: vi=R ui and wi=S ui,where i=1, 2.

That is,

    ______________________________________                                        A first  R     A second   A first                                                                              S     A third                                instant        instant    instant      instant                                in time        in time    in time      in time                                for ob-        for ob-    for ob-      for ob-                                servation      servation  servation    servation                              u.sub.1  →                                                                            v.sub.1    u.sub.1                                                                              →                                                                            w.sub.1                                u.sub.2  →                                                                            v.sub.2    u.sub.2                                                                              →                                                                            w.sub.2                                ______________________________________                                    

Therefore, the problem can be formulated as follows:

[A Problem Of Recognizing A Moving Body On A Single Plane]

ui, vi and wi are two-dimensional vectors whose first components areknown, where i=1, 2.

R and S are two-dimensional rotation matrices.

vi=R ui and wi=S ui, where i=1, 2.

Assuming the above, obtain third components of ui, v1 and wi, where i=1,2, and the rotation matrices R and S.

A next theorem 8 presents conditions for solving this problem.

[Theorem 8]

The conditions of determining a set of solutions for a problem ofrecognizing a moving body on a single plane are to let {9}, {10} and{11} be all satisfied. ##EQU47##

Here, that a square matrix is regular should be construed as follows:

a matrix being regular its inverse matrix existing the value of itsdeterminant not being equal to zero [0]

Therefore, when determinants of matrices {9}, {10} and {11} are not allzero [0], the shape and movement of an object can be determined.

The proofs of theorems 8, 9 and 10 will be shown later in a batch.

A lemma 4 for use in proving theorems 9 and 10 is shown below. Lemma 4shows a relation between the two [2] two-dimensional rotation matrices Rand S.

[Expression 19] ##EQU48##

Here a sign indicates a necessary and sufficient condition. A nexttheorem 6 defines the meanings of conditions {4}, {5} and {6}.

[Theorem 9]

Conditions {9}, {10} and {11} in theorem 8 are equivalent to nextconditions {12} through {15}.

[Expression 20]

    R≠±I                                              {12}

    S≠±I                                              {13}

    R≠±S                                              {14}

[u1, u2] being regular [v1, v2] being regular [w1, w2] being regular . .. {15}

where ##EQU49## is an identity matrix.

Condition {12} means that the rotation of an object from a first instantin time for observation to a third instant in time for observation isneither zero degrees [0° ] nor one hundred and eighty degrees [180°].

Condition {13} means that the rotation of an object from a first instantin time for observation to a third instant in time for observation isneither zero degrees [0°] nor one hundred and eighty degrees [180°].

Condition {14} means that the rotation of an object from a third instantin time for observation to a third instant in time for observation isneither zero degrees [0°] nor one hundred and eighty degrees [180°].(This is because condition {14} is equivalent to RS⁻¹ =±I, where RS⁻¹represents a rotation of an object from the third instant in time forobservation to the third instant in time for observation.)

Condition {15} means that the three [3] feature points 0, 1 and 2 arenot on a single straight line, i.e. that the three [3] feature points 0,1 and 2 form a triangle.

A next theorem 10 presents formulae for calculating a set of definitesolutions.

[Theorem 10]

Conditions of theorem 8 produce the next set of definite solutions.##EQU50## can be calculated by the following expression. [Expression 22]

Define first that: ##EQU51##

Calculate a1 according to: ##EQU52##

R1 and S1 can be obtained from components a11 and a12 of vector a1 andthe next expressions.

    R1=[(1+a11.sup.2 -a12.sup.2)/(2a11)±(1-r11.sup.2).sup.1/2 ]

    S1=[(1-a11r11)/a12-a11r12/a12]

Since the values of elements of a first row matrix R1 have beencalculated, the values of all elements of rotation matrix R areobtained.

The values of all elements of rotation matrix S are obtained similarly.

Second components u12, v12 and W12 two-dimensional vectors ui, vi andwi, where i=1, 2 are calculated by the next expressions.

[Expression 23]

According to the already calculated values of R1 and S1, a2 iscalculated by the next expressions. ##EQU53##

The following expression allows the second component of ul, where i=1,2, to be calculated. ##EQU54##

The next expressions allow the second components of vi and wi, wherei=1, 2, to be calculated. vi2=R2 ui and wi2=S2 ui (i=1, 2)

[Expression 24]

Theorems 9 and 10 require the inverse rotation matrices of ##EQU55##

This is sequentially guaranteed by lemma 4 and theorem 8.

A next system 10.1 defines the correspondences between two [2] sets ofsolutions by theorem 10.

[System 10.1]

When one [1] set of the solutions is R, S, ui, vi and wi, where i=1, 2,the other set of solutions is [Expression 25] ##EQU56##

System 10.1 corresponds to a case in which there are two [2] sets ofsolutions for an earlier described problem of recognizing a moving body.This shows that there are two [2] sets of solutions respectivelycorresponding to cases in which the Y coordinate values of other featurepoints are positive and negative as shown in FIG. 49 when feature point0 in an orthogonally projected image moves to the origin. They alsocorrespond to the surfaces of an object observed from a TV camera as animage input unit being a convex and a concave.

FIGS. 49A and 49B show two [2] sets of solutions forming mirror imagetransformations of each other with respect to the X axis pursuant to thethird form of this invention.

FIG. 49A shows that feature points shown in FIG. 47 are projected overto the XY plane as a set of solutions, in which the surface of an objectforms a convex, whereas FIG. 49B shows the mirror image transformationof the set of solutions shown in FIG. 49A, in which the surface of anobject forms a concave.

A next system 10.2 allows an easier calculation of r11 by theorem 10.

[System 10.2]

When it can be assumed that the rotation of a rigid body is constant,i.e. when S=R², r11=a11/2.

The following are proofs of theorems 8, 9 and 10, in a sequence ofproposition 3, lemma 4, theorem 9 and theorem 10.

[Proposition 3]

Expressions {12}, {13}, {14} and {15} in theorem 9 are conditionsnecessary for having a set of definite solutions.

Proof of Proposition 3]

To reiterate the conditions, vi=R ui and w1=S ui, where i=1, 2.

(1) Proof that condition {12} is necessary

By assuming that R=±I, it is shown that there is no set of definitesolutions.

Condition vi=R ui is transformed into vi=±ui.

Thus, the only remaining condition is wi=S ui. As already explained inthe description of proposition (1) in theorem 7, there is no set ofdefinite solutions.

(2) Proof that condition {13} is necessary

This is exactly the same as the proof for {1}.

(3) Proof that condition {14} is necessary

Assuming that R=±S, it is shown that there is no set of definitesolutions.

vi=R ui=±S ui=±wi Hence, condition vi=R ui is reduced to vi=±wi. Thus,the only remaining condition is wi=S ui.

As illustrated in the description of (1) in system 7.1, there is no setof definite solutions.

(4) Proof that condition {15} is necessary

Assuming that [u1, u2] is irregular, it is shown that there is no set ofdefinite solutions.

Since u1 and u2 are linearly dependent on each other, α1 u1+α2 u2=0,where (α1, α2)≠0.

Because u1≠0 and u2≠0, α1≠0. and α2≠0, it is described that u2=αu1.

Condition v2=R u2 is reduced to v2 =αv1.

Condition w2=S u1 is reduced to w2=αw1.

Thus, all the conditions vi=R u i and wi=S ui where i=1, 2, are reducedto vi=R ui and wi=S ui.

As already explained in the description of (2) in system 7.1, there isno set of definite solutions.

(5) Proof that condition {15} is necessary

From conditions,

[Expression 26]

[v1, v2]=R [u1, u2] and [w1, w2]=S [u1, u2] Since R and S are regular,##EQU57## [Expression 27] ##EQU58##

By using the next relation, ##EQU59## is calculated first. ##EQU60##

Also, ##EQU61##

The contraproposition of the above proposition is: ##EQU62## [End ofProof] [Proof 2 of lemma 4]

By proving the contraproposition, an original proposition is proved.##EQU63## vectors R1 and S1 being linearly dependent with each other acertain number a satisfying r1=a S1 R1=±S1, (This is because the lengthsof two-dimensional vectors R1 and S1 are both one [1], since R and S areboth rotation matrices.) R =±S

This is because R1=±S1 R2=±R2 R=±S, which is due to the generic form ofa two-dimensional rotation matrix, which is ##EQU64## [End of Proof][Proof of Theorem 9]

To reiterate the conditions, vi=R ui and wi=S ui (where i=1, 2) . . .(*)

From (*), ui=S⁻¹ wi and vi=R ui=R S⁻¹ wi. ##EQU65## From (*), wi=SR⁻¹ v1and ui=R⁻¹ vi

From (1) through (3), {9} through {11} are equivalent to next (4)through (9). ##EQU66##

From Lemma 1, (4), (6) and (8) are equivalent respectively to {12}, {14}and {13}. ##EQU67##

(7) is equal to {15}, and is equivalent to (5) and (9) as illustrated inthe proof of proposition 3. Therefore, (4) through (9) are equivalent to{12} through {15}.

[Proof of theorem 10]

Expression 30] vi32 R ui and wi=S ui (where i=1, 2) ##EQU68##

From conditions of theroem 9, which is R≠±S . . . (14) and lemma 4,##EQU69##

By combining condition {10} in theorem 8 and condition {15} in theorem9, all the matrices in expression (1) are regular. ##EQU70##

Because parameters on the right side are known, a1 can be calculated.##EQU71## By squaring both two expressions,

    a12.sup.2 =1+a11.sup.2 -2 a11r11 a11r11 =(1+a11.sup.2 -a12.sup.2)/2 a11≠0                                               (8)

[Expression 33]

This is because defining from (3), ##EQU72## a12.sup.≠0 therefore, s12=0

S=±I This contradicts to the condition of theorem 9.

    From (8), r11=(1+a11.sup.2 -a12.sup.2)/(2a11)              (9)

    r12=±(1-r11.sup.2).sup.1/2                              (10)

from (9) and (10), R1 can be calculated.

a12≠0

[Expression 34 ]

This is because defining a12=0 from (3), ##EQU73##

a11 ≠0 therefore, r12=0

Hence, R=±1 This contradicts to condition of theorem 9.

    From (6) and (7) s11=(1-a12                                (11)

    s12=-a11r12/a12                                            (12)

From (11) and (12), S1 can be calculated.

[Expression 35]

A general expression of a two-dimentional matrix is, ##EQU74##

From R1, S1, the all elements of rotation matrises R and S can becalculated.

[Expression 36 ]

Also, ##EQU75## can be determined.

From (1), because ##EQU76## therefore, ##EQU77##

    vi2=R2 u1, W12=S2u1 (i=1, 2)                               (14)

From (13), (14), second commponets of V Ui, Vi, Wi (i=1,2) arefinalized.

[End of proof ]

Proof 1 of system 10.1 ]

From conditions Vi=Rui, Wi=Sui (i=1,2 ), ##EQU78## Since ##EQU79## arerotation matrises, the first compone of ##EQU80## are equal to Ui, Viand Wi, the terms expression (1) form another set of solutions.

[End of proof][Proof 2 of system 10.1]

A next direct proof can be set forth from theorem 10.

[Expression 38]

That the other set of solutions corresponding to rotation matrises canbe understood ##EQU81## from the general expression of a rotation matrixand an expression of theorem 10.

Matrix corresponding to ##EQU82## This is because ##EQU83## The otherset of solution corresponding to ##EQU84## [Supplement to the proof ofsystem 10.1]

[Expression 39]

For example, assuming ##EQU85## is the inverse of rotation matrix R.

[End of proof][Proof of System 10.2] ##EQU86##

[End of proof]

So far, the new theory for use in the third form of this invention hasbeen described in detail. By applying this new theory to theshape/movement recognition unit 18 shown in FIG. 4 for its recognitionof an object moving on a single plane coupled with a rotation, based ona result of extracting three [3] feature points each in images capturedat three [3] instants in time for observation, the actual movements andpositions of those feature points in a three-dimensional space arecalculated, for enabling the movement of a moving body to be recognized.

The concept of a moving body recognition apparatus pursuant to the thirdform of this invention is similar to that pursuant to the first form ofthis invention. Also, an embodiment of the third form of this inventionand the detailed configuration of the shape/movement recognition unit 27are similar to those of the first form of this invention, which areshown in FIGS. 9 through 13. Accordingly, their descriptions areomitted.

FIGS. 50, 51 and 52 are flowcharts showing in a three part series thewhole processes of the shape movement recognition unit 27 pursuant tothe third form of this invention.

In FIG. 27, when the processes start, the shape/movement recognitionunit 27 determines in step S60 whether or not the known data input unit31 shown in FIG. 12 has received at least one [1] of the expressions(12)' through (15)', (1), (2) and (3). Here, generally, a satisfactionof expression (12)' is determined only after the calculation of rotationmatrix R. However, the moving body recognition apparatus pursuant to thethird form of this invention also has various sensors not explained indetail here, and determines whether the angle of rotation of the objectfrom a first instant in time for observation to a second instant in timefor observation is either zero degrees (0°] or one hundred and eightydegrees [180°]. Here, the prime signs in (12)', (13)' and (14)'represent equivalent transformations of (12), (13) and (14) illustratedin the description of theorem 9.

If the shape/movement recognition unit 27 determines in step S110 thatthe known data input unit 31 has received at least one [1] ofexpressions (12)'through (15)', (1), (2) and (3), the known data inputunit 31 outputs in step S111 a deactivation signal to the feature pointposition normalization unit 32, and stores recognition disablement datain the movement calculation unit 34, thereby invoking a recognitiondisablement process {1} shown in FIG. 53. The flow of recognitiondisablement process {1} for the third form of this invention isessentially the same as that shown in FIG. 17 for the first form of thisinvention.

FIG. 50 is a flowchart of an embodiment of recognition disablementprocess {1} pursuant to the third form of this invention.

On start of recognition disablement process {2} the movement calculationunit 34 sends recognition disablement data to the feature point positionreconstruction unit 36 in step Sl12. Then, the feature point positionreconstruction unit 36 stores the recognition disablement data in theobject movement storage unit 28 and the feature point storage unit 29 instep S63, thereby ending the process.

If the shape/movement recognition unit 27 determines in step Si10 thatthe known data input unit 31 has received none of {12}' through {15}',(1), (2) and (3), the shape/movement recognition unit 27 the featurepoint position normalization unit 32, and stores recognition disablementdata in the movement calculation unit 34, thereby invoking a recognitiondisablement process {1} shown in FIG. 53. The flow of recognitiondisablement process {1} for the third form of this invention isessentially the same as that shown in FIG. 17 for the first form of thisinvention.

FIG. 50 is a flowchart of an embodiment of recognition disablementprocess {1} pursuant to the third form of this invention.

On start of recognition disablement process {1}, the movementcalculation unit 34 sends recognition disablement data to the featurepoint position reconstruction unit 36 in step S112. Then, the featurepoint position reconstruction unit 36 stores the recognition disablementdata in the object movement storage unit 28 and the feature pointstorage unit 29 in step S63, thereby ending the process.

If the shape/movement recognition unit 27 determines in step S110 thatthe known data input unit 31 has received none of {12}' through {15}',(1), (2) and (3), the shape/movement recognition unit 27 determines instep S114 whether or not the feature point storage unit 26 has storedall data on the positions of three [3] feature points each in imagescaptured at three [3] instants in time for observation. Theshape/movement recognition unit 27 repeats step S114 until it determinesthat the feature point storage unit 26 has stored the positions of three[3] feature points each in images captured at three [3] instants in timefor observation. When the shape/movement recognition unit 27 determinespositively (YES) that the feature point storage unit 26 has stored alldata, the shape/movement recognition unit 27 sends an activation signalto the feature point position normalization unit 32, thereby activatingthe feature point position normalization unit 32.

In FIG. 51, the feature point position normalization unit 32 stores instep S116 data on the positions of the three [3] feature points 0, 1 and2, which the feature point position normalization unit 32 stores in thefeature point storage unit 26, and obtains first components u12, v12 andw12 of two-dimensional vectors u1, v1 and w1 (where i=1, 2) as Xcoordinate values of feature points 1 and 2, which are instituted. Also,no further calculation is performed, when the shape/movementdetermination unit 33 determines in step Sl17 a recognition disablementby using only the in-image positions of feature points.

If the shape/movement determination unit 33 determines in step S117 thatexpressions {9}, {10}and {11} are all outstanding, the shape/movementdetermination unit 33 activates the movement calculation unit 34 in stepS119, thereby invoking respective processes of the movement calculationunit 34 and the shape calculation unit 35, in accordance with theorem10.

FIG. 54 is a flowchart of the movement calculation unit 34 pursuant tothe third form of this invention.

On start of its process, the movement calculation unit 34 calculates afirst row vector a1 in matrix a in step S120, rotation matrix R in stepS121, and rotation matrix S in step S122. Then, the movement calculationunit 34 determines in step S123 whether or not at least one [1] ofcalculation results of rotation matrices R and S satisfies the knowndata regarding the movement of an object inputted to the known datainput unit 31. In this determination in step S123, the movementcalculation unit 34 selects the appropriate one [1] from the results ofcalculating rotation matrices R and S according to signals inputted fromvarious sensors for detecting the movement of an object. If itdetermines in step S123 neither rotation matrix R nor rotation matrix Ssatisfies the known data, the movement calculation unit 34 invokesrecognition disablement process {1} shown in FIG. 53.

The selection of either one [1] of two [2] sets of solutions, e.g. arotation matrix R and its inverse rotation matrix R⁻¹, is pari passu thedescription of FIG. 19 pursuant to the first form of this invention.

If the movement calculation unit 34 determines in step S123 that thereis a set of solutions that satisfies known data about the movement of anobject, the movement calculation unit 34 sends the selected one [1] ofthe results of calculating rotation matrices R and S to the shapecalculation unit 35 and the feature point position reconstruction unit36 in step S124.

FIG. 55 is a flowchart of the shape calculation unit 35 pursuant to thethird form of this invention.

On start of its process, the shape calculation unit 35 obtains thesecond row of a2 of matrix a in step S125. Based on the result obtainedin step S125, the shape calculation unit 35 obtains u12 and u22 as thesecond components of two-dimensional vectors u1 and u2 in step S126, v12and v22 as the second components of two-dimensional vectors v1 and v2 instep S127, w1 and w2 as the second components of two-dimensional vectorsw1 and w2 in step S128. Then, in step S129 the shape calculation unit 35sends to the feature point position reconstruction unit 36 the values ofsecond components u12, u22, V12, V22, W12 and w22 of thosetwo-dimensional vectors u1, u2, v1, v2, w1 and w2.

Returning to FIG. 52, the feature point position reconstruction unit 36executes its processes from step S130, on completing the process of theshape calculation unit 35 shown in FIG. 51. In step S130, from thetwo-dimensional vectors u1, u2, v1, v2, w1 and w2, and rotation matricesR and S obtained as the result of calculating the shape and movement ofan object, the feature point position reconstruction unit 36 selects thevalues matching the known data about the movement of the object inputtedto the known data input unit 31. If it determines negatively (NO) instep S130 that such values exist, the feature point positionreconstruction unit 36 invokes a recognition disablement process {2}shown in FIG. 56, which is essentially the same as that pursuant to thefirst form of this invention shown in FIG. 22.

FIG. 56 is a flowchart of an embodiment of recognition disablementprocess {2} pursuant to the third form of this invention.

In step S131, the feature point position reconstruction unit 36 storesthe recognition disablement data in the object movement storage unit 28and the feature point position Storage unit 29, thereby ending theprocess.

The shape calculation unit 35 selects either one [1] from two [2] setsof solutions, which are mirror image transformations of each other,based on the concave/convex data shown in FIG. 21.

Returning to FIG. 52, when the feature point position reconstructionunit 36 can select a calculation result satisfying the known data instep S130, the feature point position reconstruction unit 36 stores inthe object movement storage unit 28 the values of elements of rotationmatrices R and S in the selected set of solutions and the in-imagecoordinate values of feature point 0 in step S132, and in the featurepoint position storage unit 29 the values of the second components u22,U22, V12, V22, W12 and W22 0f those two-dimensional vectors u1, u2, v1,v2, w1 and w2 in the selected set of solutions together with thecoordinate Values of the three [3] feature points each in three [3]images stored in the feature point position normalization unit 32 instep S133, thereby ending the process.

The above described embodiment assumes that a rotation around the originof an object from a first instant in time for observation to a secondinstant in time for observation, which is represented by a rotationmatrix R, is different from a rotation around the origin of an objectfrom a first instant in time for observation to a third instant in timefor observation, which is represented by a rotation matrix S. However,these rotations can be equal, when an object maintains a steady rotatingspeed and equal time intervals spacing apart those instants in time forobservation.

Under such a circumstance, when the known data input unit 31 receivesdata that the rotation of an object is constant, the movementcalculation unit 34 may substitute the above calculation of rotationmatrix R (in step S121 shown in FIG. 54) by [Expression 41]

    R1=[r11 r12]=[a11/2±(1-r11.sup.2).sup.1/2 ]

for reducing the processing load.

Further in this case, the calculation in step S120, which is ##EQU87##is performed for obtaining only vector a1 of a partial matrix, therebycalculating rotation matrix S by using an equation S=R² in lieu of goingthrough step S72.

The above embodiment allows two [2] sets of solutions to be calculatedsimultaneously when the movement calculation unit 34 calculates rotationmatrix R in step S71. However, the above embodiment can be reconfigured,such that the movement calculation unit 34 obtains only one [1] set ofsolutions in step S71.

In this alternative embodiment, the feature point positionreconstruction unit 36 calculates a set of rotation matrices R⁻¹ andS⁻¹, which are the inverse to the set of rotation matrices R and S,according to the next expressions. ##EQU88##

Also, the other values of two-dimensional vectors ui', vi' and wi'(where i=1, 2), which are the mirror image transformations of ui, vi andwi (where i=1, 2) with respect to the X axis are calculated by the nextexpressions. ##EQU89##

This enables the feature point position reconstruction unit 36 to obtaintwo [2] sets of solutions.

As described above, the third form of this invention allows the movementof an object from a positions of three [3] feature points each in imagesof an object moving on a single plane coupled with a rotation capturedat two [2] instants in time for observation. As described in thedescription of FIG. 51, the shape/movement determination unit 33 canimmediately determine whether or not a moving body can be recognizedfrom the in-image positions of feature points.

The Fourth Form

FIG. 57 shows a universal relation between an object and its observationplane in an image input unit pursuant to the fourth form of thisinvention.

Embodiments of the fourth form of this invention are explained below. Asdescribed earlier, the fourth form of this invention is for recognizinga moving body in the most generic cases, in which the actual positionsand movements of four [4] feature points of an object are calculated bydetermining, from known position data on the four [4] feature pointseach in orthogonally projected images captured at any three [3] instantsin time for observation, that the four [4] feature points do not existon the same plane, that the axis of rotation of an object is notparallel to the direction of the orthogonal projection between any two[2] instants in time for observation of the three [3] instants in timefor observation, and that rotation of the object between any two [2]instants in time for observation is not a rotation of one hundred andeighty degrees [180°] around the axis parallel to the plane on which theimages are orthogonally projected.

As with the first, second and third forms of this invention, in thefourth form of this invention, an orthogonally projected image is used.Except the fact that the direction of observing an image is in thedirection of the Y axis, the second form of this invention has nolimitations on the rotation and movement of an object, unlike the first,second and third forms of this invention.

FIG. 58 shows a relation between an observation plane and an objectwhose feature point 0 is fixed to the origin pursuant to the fourth formof this

invention.

FIG. 59 shows orthogonal projections of feature points on the XZ planepursuant to the fourth form of this invention.

The displacements of an object in the directions of the X and Z axes arethe same as those observed on an image plane. FIGS. 58 and 59 show theangle of rotation of an object around the origin and the Y coordinatevalues of other three [3] feature points (e.g. feature points 1, 2 and3) when one [1] feature point (e.g. feature point 0) moves to theorigin.

A new theory for the fourth form of this invention is explained below.The theory discusses a problem of reconstructing the structure(positions of feature points) and movement of an object fromobservations of four [4] feature points each in orthogonally projectedimages captured at three [3] instants in time for observation. Asdescribed earlier, one [1] feature point is fixed to the origin for aproblem formulation.

FIG. 59 showing the relation between an object and the image axisillustrates a problem of obtaining the positions and rotations of three[3] triangles in a three-dimensional space from three [3] in-imagetriangles.

Codes are defined as follows.

Feature points 1, 2 and 3 are feature points other than feature point 0,which falls on the origin.

u1, u2 and us represent three-dimensional vectors from the originrespectively to feature points 1, 2 and 3 at a first instant in time forobservation.

v1, v2 and v3 represent three-dimensional vectors from the originrespectively to feature points 1, 2 and 3 at a second instant in timefor observation.

w1, w2 and w3 represent three-dimensional vectors from the originrespectively to feature points 1, 2 and 3 at a third instant in time forobservation. [Expression 10]

The vector expressions are as follows. ##EQU90##

It is assumed here that the first, second and third componentsrespectively represent X, Z and Y coordinate values, instead of X, Y andZ coordinate values.

Rotation matrix R represents a three-dimensional rotation of an objectaround the origin from the first instant in time for observation to thesecond instant in time for observation.

Rotation matrix S represents a three-dimensional rotation of an objectaround the origin from the first instant in time for observation to thethird instant in time for observation.

Rotation matrices R and S are expressed as follows. ##EQU91##

The reason why the Y coordinate values become third components ofvectors here unlike a generic expression is because expansions ofexpressions are easier when the Y coordinate values become the thirdcomponents of vectors, since it is the Y coordinate values that areunknown.

Accordingly, vector relations can be expressed as vi=R ui and wi=S ui(where i=1, 2, 3). That is,

    ______________________________________                                        A first  R     A second   A first                                                                              S     A third                                instant        instant    instant      instant                                in time        in time    in time      in time                                for ob-        for ob-    for ob-      for ob-                                servation      servation  servation    servation                              u.sub.1  →                                                                            v.sub.1    u.sub.1                                                                              →                                                                            w.sub.1                                u.sub.2  →                                                                            v.sub.2    u.sub.2                                                                              →                                                                            w.sub.2                                u.sub.3  →                                                                            v.sub.3    u.sub.3                                                                              →                                                                            w.sub.3                                ______________________________________                                    

Codes of rotation matrices R and S are defined as follows.

0(n) represents the entire class of orthogonal matrices.

S0(n) represents the entire class of n-dimensional rotation matrices.

A' is a matrix with the last row of A shed when A is a matrix havingplural rows and plural columns, and a matrix with the last column (row)shed when A is a matrix having only one [1] row (column).

Rij is an n-1-dimensional matrix obtained by shedding the i-th row andj-th column when R is an n-dimensional matrix.

Thus, the problem can be formulated as follows. [A Movement/ShapeRecognition Problem]

Assuming that ui, vi and wi are three-dimensional vectors whose firstand second components are known, where i=1, 2, 3,

R and S are three-dimensional rotation matrices, such that vi=R ui, andwi=S ui, where i=1, 2, 3, obtain the third components of ui, vi and wi,where i=1, 2, 3 and rotation matrices R and S. ##EQU92##

A next theorem 11 gives conditions for solving the problem. [Theorem 11]Next conditions {16}, {17} and {18} are necessary to prevent the abovemovement/shape recognition problem from degenerating in a sense of four[4] points and three [3] observations. ##EQU93##

A next theorem 12 presents reasons of the conditions.

[Theorem 12]

{16}, {17} and {18} in theorem 11 are equivalent to {19} through {22}.##STR3## (where U is a two-dimensional orthogonal matrix.) ##STR4##(where U is a two-dimensional orthogonal matrix.) ##STR5## (where U is atwo-dimensional orthogonal matrix.) {22} u1, u2 and u3 are linearlyindependent;

v1, v2 and v3 are linearly independent; and

w1, w2 and w3 are linearly independent.

The meaning of {19} is as follows. "Rotation matrix R does not representa rotation around the Y axis, which is the third axis, or a rotationwhose angle around the axis of rotation on the XZ plane is one hundredand eighty degrees [180°]."

The meaning of {20} is as follows. "Rotation matrix S does not representa rotation around the Y axis, which is the third axis, or a rotationwhose angle around an axis of rotation on the XZ plane is one hundredand eighty degrees [180°]."

The meaning of {21} is as follows. "There is neither any rotation aroundthe Y axis, which is the third axis from the second instant in time forobservation to the third instant in time for observation, nor anyrotation whose angle around the axis of rotation on the XZ plane is onehundred and eighty degrees [180°]."

The meaning of {22} is as follows. "The object has a three-dimensionalshape."

The meanings of {19}, {20} and {21} will be described later in proofs ofproposition 5 and lemma 8.

A next theorem 13 describes the equations for calculating the solution.[Theorem 13]

Under conditions of theorems 11 and 12, a set of solutions is finalizedaccording to next steps. [Expression 15]

A first step is to calculate ##EQU94##

When ##EQU95## is regular and ##EQU96##

Select a single value for p (1≦p≦2), such that ##EQU97## becomesregular. When a selection of p fails, an attempt is made to select p byrotating the XY coordinate system by other than integer times of ninetydegrees [90°]. [Expression 16]

A second step is to calculate ##EQU98##

There is an h (1≦h≦2), such that ah3 ≠0.

The values of ai (1≦i≦2), β and Γ are determined by next expressions.##EQU99##

{1} in second step is to calculate ##EQU100##

When a13 ≠0 and a23 ≠0, ##EQU101##

When a13=0 and a23 ≠0, ##EQU102##

When a13=0 and a23=0, ##EQU103##

[Expression 17]

{2} in second step is to calculate ##EQU104##

A third step is to calculate the third component of u1, which is thethird row of ##EQU105##

A fourth step is to calculate S' (1≦q≦2, q≠p) ##EQU106##

A fifth step is to calculate R and S by next formulae.

    r.sub.3J =(-1).sup.3+J det R.sub.3J, S.sub.3 =(-1).sup.3+J det S.sub.3J

A sixth step is to calculate the third components of vi and wi by nextformulae.

    V.sub.i3 =r.sub.3 ·U.sub.1, W.sub.i3 =S.sub.3 ·U.sub.1

A next system 13.1 defines the relation between two [2] sets ofsolutions.

[System 13.1]

When one [1] of the two [2] sets of solutions in theorem 13 is##EQU107##

Then, the other set of solutions is ##EQU108##

where I2 is a two-dimensional identity matrix.

FIGS. 60A and 60B show two [2] sets of solutions forming mirror imagetransformations of each other with respect to the XZ plane on which animage is projected pursuant to the fourth form of this invention.

The proofs of the above theorems are presented in the sequence ofproposition 4, theorem 12, theorem 13 and system 13.1.

[Proposition 4]

{19} through {22} in theorem 12 are necessary to prevent the abovemovement/shape recognition problem from degenerating in a sense of four[4] points and three [3] observations.

[Proof of Proposition 4]

It is shown that the movement/shape recognition problem degenerates intoa problem in which the number of instants in time for observation isless than three [3] or the number of observations is less than four [4],when conditions are not satisfied.

[Expression 19] ##STR6## (where U is a two-dimensional orthogonalmatrix.) ##STR7##

Since vi3 is unknown, there are no data for ui3. Therefore, thisdegenerates into a shape/movement recognition problem comprising onlywi=S ui.

[Expression 20] ##STR8## (where U is a two-dimensional orthogonalmatrix.)

As with the case of {19}, this degenerates into a shape/movementrecognition problem comprising only Vi=R ui. ##STR9## (where U is atwo-dimensional orthogonal matrix.) ##STR10##

Since wi3 and vi3 are unknown, there are no data for ui3. Therefore,this degenerates into a shape/movement recognition problem comprisingonly vi=R ui.

[Expression 21]{22} When u1, u2 and u3 are not linearly independent, theshape/movement recognition problem degenerates into: ui is a linearcombination of u1, . . . , ui-1, ui+1, . . . , u3, for an existing i(where 1≦i≦3), and vi=R ui and wi=S ui (i=1, 2, 3) vi=R ui and wi=S ui(i=1, . . . , i=1, i-1, . . . , 3)

[End of Proof]

[Proof of Theorem 12]

[Expression 22] ##EQU109##

From wi=S ui=S R⁻¹ vi and ui=R⁻¹ vi, ##EQU110##

From ui=S⁻¹ wi and vi=R ui=R S⁻¹ wi, ##EQU111##

Therefore, {16}, {17} and {18} are equivalent to <1> through <6>. (Thisis because for a matrix product AB, rank AB≦ rank A, rank B.) ##EQU112##u1, u2 and u3 are linearly independent. . . . <2> ##EQU113## v1, v2 andv3 are linearly independent. . . . <4> ##EQU114## w1, w2 and w3 arelinearly independent. . . . <6> ##EQU115## Therefore, <2>, <4> and <6>are equivalent to each other. . . . {22}

From lemma 6, <1>, <3> and <5> are equivalent to {21}, {20} and {19}.##STR11## [Expression 24]

When ##EQU116## is regular, and ##EQU117## select one [1] value of p(1≦p≦2), such that ##EQU118## is regular.

When it cannot select one [1], select a value of p by rotating the XYcoordinate system by other than integer times of ninety degrees [90° ].Lemma 7 shows a value of p can be thus selected. ##EQU119##

By expressing ##EQU120##

The formulae for calculating ##EQU121## can be deducted from this.However, since the deductive process is long, it is shown at the end ofthe proof. (Refer to steps 1 through 6.)

Therefore, as can be calculated. ##EQU122##

Therefore, sq, such that 1≦q≦2 and q≠p, is obtained from ##EQU123##

Since R' and S' are obtained, R and S are obtained from lemma 5.

From conditional expressions,

    v.sub.13 32 r.sub.2 ·u.sub.1, W.sub.13 =S.sub.3 ·U.sub.1

Therefore [V₁₃ V₂₃ V₃₃ ], [W₁₃ W₂₃ W₂₂ ] is also obtained.

Steps 1 through 6 below describe the procedure for deducting theremaining formulae for calculating ##EQU124##

First, ri is determined by deducting simultaneous linear equations onlyof ri, whose result is used for obtaining sp

[Expression 26]

By definition, ##EQU125##

The ij component is ##EQU126##

Here, when i=j, δ_(1J) =1, and when i≠j, δ_(1J) =0

By transforming (3), ##EQU127## [Expression 27] ##EQU128##

By squaring both sides of (3)', ##EQU129## When an addition is performedwith respect to j, ##EQU130## That is, ##EQU131##

By replacing i with 1 and 2 in (3), for j, which is 1≦j≦3, ##EQU132##spj is eliminated by (the upper equation)×a23

-(the lower equation)×a13, ##EQU133##

Assuming 1≦i, h≦2, i≠h and 1≦j≦3,

From (5)

β1 rij+βh rhj=γJ βh rhj=γJ-βi rij ##EQU134## by further replacing j withk, [Expression 33]

Step 4 a1316 0 or a23≠0

If a13=0, (where 1≦i≦2)

[Expression 34]

The third column of ##EQU135##

Because sp3a33=1, a33≠0

Therefore, ##STR12##

This contradicts with the assumption. ##EQU136## When one set of thesolutions is expressed as ##EQU137## Then the other set of solutions isexpressed as ##EQU138##

To reiterate (4), (5) and (6), ##EQU139##

From columns 1 and 2 of (4) and (5), ##EQU140## can be calculateduniquely. ##EQU141## Expression 38]

When a13≠O and a23≠O,

From (7), ##EQU142##

is obtained uniquely. ##EQU143## From column 3 in (5), β1 r13+β2 r23=0(because γa=0)

Because ##EQU144## From the relation of an inverse matrix, β2=0 <r13=0When r13≠0, β2≠0,

From r23=-⊕1 r13/β2

The sign of r23 is determined.

Therefore, when one set of solutions for r13 and r23 is expressed as(r13, r23), every set of solutions can be expressed as (±r13, ±r23).

[Expression 39]

Step 6

For an i (1≦i≦2) such that ai3≠0, because ##EQU145## sp is obtained fromr1 and r2.

The first half is obtained from (3)', while spj is obtained from rkj(k=1, 2) in the same row.

[Expression 40]

Especially when j=3, ##EQU146##

Therefore, ##EQU147## [End of Proof of Theorem 13] [A Proof of System13.1]

[Expression 41]

From step 6, ##EQU148##

A set of solutions corresponding to the positive signs are expressed as##EQU149## Then, R corresponding to the negative signs is ##EQU150##(from lemma 5)

Because by definition, ##EQU151## From the relation of an inversematrix, ##EQU152## in case of the negative signs ##EQU153##

From a proof of theorem 13, ##EQU154##

In case of the negative signs, ##EQU155## has the signs in its n-thcolumn inverted, S' has the signs in its third column inverted. As withthe case of R,

Rotation matrix S corresponding to the negative signs is ##EQU156##(from lemma 1) ##EQU157##

In case of the negative signs, the first expression is ##EQU158##

Similarly, the second expression is ##EQU159##

Therefore, in case of the negative signs, ##EQU160## become ##EQU161##

[End of Proof]

The lemma used in the proof of the above theorem is proved below. [Lemma5 ]

When n≧2,

[Expression 45]

In an n-dimensional rotation matrix (1)R, ##STR13##

When (n-1)-dimensionai matrix obtained by eliminating the i-th row andj-th column is expressed as Rij,

    r.sub.1J =(-1).sup.1+J det R.sub.1J

[Proof]

For a regular matrix A, generally, (A⁺¹) _(J1) =(det A) ⁻¹ (-1) ^(1+J)det A_(1J)

Substituting R into A, since R⁻¹ =R^(t)

    R.sub.ij =(-1).sup.1+J det R.sub.ij

[End of Proof]

[Proof 2]

A direct proof is presented.

After the case in which i, j=n is proved, the satisfaction of othercases are illustrated. (When i, j=n )

By applying the components of the k-th column to the n-th row of R, andby applying two-dimensional rotation to the components of n-th column,in sequence, the components of k-th column can be made to have valueszero [0]. That is, by expressing the (n-2)-dimensional identity matrixas In-2, ##STR14##

By expressing (n-1)-dimensional matrix obtained by eliminating the n-throw and n-th column as Rn-1, ##STR15## (When i≠n and j≠n)

The matrix obtained by swapping the i-th row with the n-th row and thej-th column with the n-th column in rotation matrix R is ##STR16##Because this is a rotation matrix, ##STR17##

Because columns needs to be swapped n-1-j times or rows need to beswapped n-1-i times to transform the matrix in the matrix determinant onthe right side into Rij,

(When i=n and j≠n)

A matrix obtained by swapping the j-th column and n-th column bychanging the sings in the n-th column is ##STR18## Because this is arotation matrix, ##EQU162##

To transform the matrix in the determinant on the

right side into Rnj, the columns need to be swapped n-i-j times afterconverting the signs of j-th column.

    because r.sub.nj =(-1) .sup.1+n-1+J det R.sub.nj =(-1) .sup.N+J det R.sup.nj

(When i≠n and j=n )

This is proved as in the case (when i=n and j≠n)

[End of Proof]

[Lemma 6 ]

R and S are n-dimensional rotation matrices where n≧2,

[Expression 50]

By expressing ##EQU163##

The necessary and sufficient condition for ##EQU164## is that(n-1)-dimensional orthogonal matrix U exists,

which is expressed as ##EQU165## [Proof] (Necessity)

Because rank R'=n-1, S'=U R', where U is an (n-1)-dimensional squarematrix. By expressing the i-th column of U as ui,

because (si, si)=1 and (ui, ui)=1 When i≠j,

because (si, sj)=0 and (ui, uj)=0

Therefore, U is an (n-1)-dimensional orthogonal matrix.

From lemma 5, ##EQU166##

This is self-evident from S'=U R'.

[End of Proof][Lemma 7]

Premised on conditions {16}, {17} and {18}in theorem 11, nextpropositions (1) and (2) are outstanding. Proposition (1) {23}and{24}are equivalent for p (=1 or 2). ##EQU167## Proposition (2) If the XYcoordinate system is rotated by other than integer times of ninetydegrees [90° ], a value of p (=1 or 2) satisfying {19} can be selected.

[Proof] ##EQU168## Because [u1, u2, u3] is regular, ##EQU169## isregular ##EQU170## is regular. At this time, ##EQU171## By defining thismatrix as ##EQU172##

From a general formula for obtaining an inverse matrix, ##EQU173##

Therefore, {23} and {24} are equivalent. (2) It need only be shown thatp (=1 or 2) satisfying {24} can be selected from (1).

As described in theorem 12, note that {16}, {17} and {18} are equivalentto {19} through {22}. What should be illustrated is that a value of p(=1, 2) can be selected, if the XY coordinate system is rotated otherthan by integer times of ninety degrees [90° ], when p (=1 or 2)satisfying {24} cannot be selected. The negation of {24} is a nextexternal 1.

[External 1]

{25}

[Expression 55]

{25} For p such that 1≦p≦2, sp3=O or ##EQU174## is not regular.

{25} can be classified into next cases (10.1), (10.2) and (10.3).##EQU175##

However, cases (10.1) and (10.2) contradict conditions {19} and {21}

In case (10.1), because S= ##STR19## this contradicts condition {19}.

In case (10.2), because sp (1≦p≦2) is a linear combination of r1 and r2,it intersects orthogonally with r3. That is, (sp, r3)=0 (1≦p≦2)

Since SR⁻¹ =SR^(t), the p3 element of SR⁻¹ is obtained as (sp, r3),which is zero [0].

Expression 56]

Because this is, ##STR20## it contradicts condition {21}.

Therefore, only case (10.3) remains.

Especially, when s13=0 and s23=0. Because this is not case (10.1), bothof them cannot be zero [0].

It is shown that s13≠0 and s23≠0 can be achieved, if the XY coordinatesystem is rotated other than by integer times of ninety degrees [90 °].

[Expression 57]

Expressing w*=S* u* when a coordinate system in which w=S u is rotatedaround the Z axis by -⊖, since an object rotates around the Z axis by ⊖in a relative sense, ##EQU176##

When only one of s13 and s23 is zero [0], by selecting ⊖ other thaninteger times of ninety degrees [90°], s13≠0 and s23≠0 can be achieved.Conditions {19} through {22} are outstanding even if an XY coordinatesystem is rotated.

Therefore, when p (=1 or 2) satisfying {24} cannot be selected, arotation of an XY coordinate system by other than integer times ofninety degrees [90°]enables p satisfying {24} to be selected.

[End of Proof]

[Expression 58]

A next [NOTE] allows ##EQU177## in lemma 7 to be replaoed by (sp, r3)≠O,which is an easier expression.

[NOTE]

[Expression 59] ##EQU178## in condition {24}is equivalent to (sp r3)≠0.[Expression 60]

As a proof of lemma 7, its contraproposition is proved, which is##EQU179## is not regular. (Sp, r3) ≠0. () Since sp is a linearcombination of r1 and r2, it intersects orthogonally with r3). () If anexpression sp=Σ bi ri (where bi is a constant) is substituted into (sp,r3)=0, b3=0. Since sp is a linear combination of r1 and r2, ##EQU180##is not regular. regular. [End of Proof]

Explained below is a proof of the representations in {19}, {20}and {21}by proving proposition 5 and lemma 8.

[Proposition 5]

[Expression 61]

Three-dimensional rotation ##STR21## (where U is a two-dimensionalorthogonal matrix.) . . . (*) represents a rotation either (1) or (2).

(1) a rotation around a third axis

(2) a rotation around an axis on the plane formed by first and secondaxes, whose angle is one hundred and eighty degrees [180°]. Conversely,rotations (1) and (2) can be expressed by a rotation matrix (*).

[Proof]

Because det U=±1, rotation matrix (*) can be classified into (1) and(2). ##STR22## (where U is a two-dimensional rotation matrix.)

This represents a rotation around the third axis. ##STR23## (where Urepresents a two-dimensional orthogonal matrix, and det U=-1.)

It is shown below that this represents a rotation around an axis on theplane formed by first and second axes, whose angle is one hundred andeighty degrees [180°]. To obtain the axis of rotation of the matrix inquestion, an equation (a) ##STR24## is solved. Equation (a) isequivalent to an equation (b) [Expression 64] ##EQU181##

Since a set of solutions of (b) is ##EQU182## (where a is any realnumber.)

Since a set of solutions of (a) is ##EQU183## (where a is any realnumber.) [Expression 65]

Therefore, ##EQU184## represents a rotation around an axis expressed bya vector ##EQU185## on the plane formed by first and second axes.

Because ##EQU186## transfers a point ##EQU187## on the Z axis to asymmetrical point ##EQU188## the angle of rotation is one hundred andeighty degrees [180°].

As described above, rotation matrix (*) represents both rotations (1)and (2). Hence, conversely, rotations (1) and (2) are expressed asrotation matrix (*).

[End of Proof]

[Lemma 8]

When two-dimensional orthogonal matrix U is not a rotation matrix,

[Expression 66] ##EQU189##

The set of solution for a vector equation ##EQU190## is where a is anyreal number.)

That is, U is a mirror image transformation with respect to an axisexpressed by a vector ##EQU191## [Proof] [Expression 67]

Because ##EQU192## (direct sum of sets), ##EQU193## (where S is atwo-dimensional rotation matrix.)

Because rotation matrices S and R can be expressed as ##EQU194##

By transforming the expression in question,

[Expression 68] ##EQU195##

By applying the formula of a double angle, ##EQU196## satisfies (d) i.e.(c). Conversely, it is shown that (e) represents every solution of (c).

I. When θ≠0 or π, since sinθ ≠0, sinθ=2 sin(θ/2) cos (θ/2), sin(θ/2)≠0and cos(θ/2)≠0.

Hence, (d) is reduced into ##EQU197##

Accordingly, (e) represents every solution of (c).

II. When θ=0, ##EQU198## is a solution of (c), which matches (e).

III. When θ=π, ##EQU199## [Expression 71] ##EQU200## is solution of (c),which matches (e).

[Expression 72]

Since (e) is a solution of (c), the axis of U is a vector ##EQU201##

Since U represents an orthogonal transformation, the length and angleremain unchanged.

[Expression 73]

Therefore, U represents a mirror image transformation with respect toaxis expressed by a vector ##EQU202##

The final result can also be directly proved by showing

U=(a two-dimensional rotation of angle θ/2) (a mirror imagetransformation with respect to the first axis) (a two-dimensionalrotation of [the angle of rotation- θ/2])

That is,

[Expression 74] ##EQU203## needs to be shown.

So far, the new theory for use in the fourth form of this invention hasbeen discussed in detail. By having the shape/movement recognition unit18 shown in FIG. 4 apply this new theory to an object moving with arotation, based on the result of extracting four [4] feature points eachin images captured at three [3] instants in time for observation, theactual positions and movements of those feature points in athree-dimensional space are calculated, thereby enabling the movement ofa moving body to be recognized.

FIG. 61 is a block diagram of a shape/movement recognition unit 27pursuant to the fourth form of this invention.

The concept of a moving body recognition apparatus in the fourth form ofthis invention is similar to that in the first form of this invention.Also, an embodiment of the fourth form of this invention and thedetailed configuration of the shape/movement recognition unit 27 aresimilar to those of the first form of this invention, which are shown inFIGS. 9 through 13. Accordingly, their descriptions are omitted. Theonly difference is that the movement calculation unit 34 and the shapecalculation unit 35 (illustrated in FIG. 12, which is a block diagram ofthe shape/recognition unit 27 shown in FIG. 11) are consolidated into amovement/shape calculation unit 39 shown in FIG. 61.

FIGS. 62, 63 and 64 are flowcharts showing in a three part series thewhole processes of the shape/movement recognition unit 27 pursuant tothe fourth form of this invention.

In FIG. 62, when the processes start, the shape/movement recognitionunit 27 determines in step S140 whether or not the known data input unit31 shown in FIG. 12 has received at least one [1] of the expressions{19}' through {22}', (1), (2) and (3). As with the first, second andthird forms of this invention, a signal from a sensor allows thedetermination to be made. The relations between expressions {19}'through {21}' and {19} through {21} are the same as those describedearlier.

If the shape/movement recognition unit 27 determines in step S140 thatthe known data input unit 31 has received at least one [1] ofexpressions {19}' through {22}', (1), (2) and (3), the known data inputunit 31 outputs in step S141 a deactivation signal to the feature pointposition normalization unit 32, and stores recognition disablement datain the movement calculation unit 34, thereby invoking a recognitiondisablement process {1} shown in FIG. 64. As with the flow ofrecognition disablement process {1} for the second and third forms ofthis invention, the flow of recognition disablement process {1} for thefourth form of this invention is essentially the same as that shown inFIG. 17 for the first form of this invention.

If the shape/movement recognition unit 27 determines in step S140 thatthe known data input unit 31 has received none of {19}' through {22}',(1), (2) and (3), the shape/movement recognition unit 27 does notdetermine (NO) in step S144 that feature point storage unit 26 hasstored all data on the positions of four [4] feature points each inimages captured at three [3] instants in time for observation. Theshape/movement recognition unit 27 repeats step S144 until it determinesthat the feature point storage unit 26 has stored the positions of four[4] feature points each in images captured at three [3] instants in timefor observation. When the shape/movement recognition unit 27 determines(YES) in step S144 that the feature point storage unit 26 has stored alldata, the shape/movement recognition unit 27 has the feature pointstorage unit 26 send an activation signal to the feature point positionnormalization unit 32 in step S145 (shown in FIG. 63), therebyactivating the feature point position normalization unit 32.

Continuing on to FIG. 63, the feature point position normalization unit32 stores in step S146 data on the in-image positions of four [4]feature points 0, 1, 2 and 3, which the feature point storage unit 26has stored, and obtains first and second components of ui, vi and wi andwi (where i=1, 2, 3) as X and z coordinate values of feature points 1, 2and 3, which are different from feature point 0, after feature point 0moves to the origin and the other feature points 1, 2 and 3 areparallelly displaced. Therefore, the feature point positionnormalization unit 32 obtains the X and Z coordinate values of featurepoints 1, 2 and 3 after a parallel displacement by subtracting the X andZ coordinate values of feature point 0 before the parallel displacementfrom the X and Z coordinate values of feature points 1, 2 and 3 beforethe parallel displacement.

Then, the shape/movement recognition unit 27 has the shape/movementdetermination unit 33 determine in step S147 whether or not these firstand second components stored by the feature point position normalizationunit 32 satisfy all of expressions {16}, {17} and {18}. If theshape/movement determination unit 33 determines negatively (NO) in stepS147, i.e. that they don't satisfy at least one [1] of expressions {16},{17} and {18}, the shape/movement determination unit 33 sendsrecognition disablement data to the movement/shape calculation unit 39in step S148, thereby invoking recognition disablement process {1} shownin FIG. 65. The flow of recognition disablement process {1} pursuant tothe fourth form of this invention shown in FIG. 65 is essentially thesame as that shown in FIGS. 17, 30 and 49 pursuant to the first, secondand third forms of this invention, except that the movement/shapecalculation unit 39, instead of the movement calculation unit 34 sendsrecognition disablement data to the feature point positionreconstruction unit 36.

FIG. 65 is a flowchart of an embodiment of recognition disablementprocess {1} pursuant to the fourth form of this invention.

On start of recognition disablement process the movement/shapecalculation unit 39 sends recognition disablement data to the featurepoint position reconstruction unit 36 in step S142. Then, the featurepoint position reconstruction unit 36 stores the recognition disablementdata in the object movement storage unit 28 and the feature pointstorage unit 29 in step S143, thereby ending the process.

As explained in the description of theorem 12, expressions {16}, {17}and {18} are equivalent to expressions {19} through {22}. Therefore, itcan be said that the check in step S147 and the check in step S140 forma duplication. However, since a sensor can perform the check in stepS140, such a duplication is instituted. Also, no further calculation isperformed, when the shape/movement determination unit 33 determines instep S147 a recognition disablement by using only the positions offeature points in an image.

If the shape/movement determination unit 33 determines positively (YES)in step S147 that expressions {16}, {17] and {18} are all outstanding,the shape/movement determination unit 33 activates the movementcalculation unit 34 in step S149, thereby invoking respective processesof the movement calculation unit 34 and the shape calculation unit 35,in accordance with theorem 13.

As described earlier, a sensor performs a check in step S140, aside froma process of a moving body recognition apparatus pursuant to the fourthform of this invention. If the elements of R and S are known, theshape/movement recognition unit 27 can determine the receipt ofexpressions [{19}', {20}' and {21}' and calculate two-dimensionalorthogonal matrix U.

As for expression {19}', ##EQU204##

That is, r13=r23=r31=r32=0 is a necessary and sufficient condition for##STR25## (where U is a two-dimensional orthogonal matrix.)

At this time, ##EQU205##

Next, as for expression {20}', ##EQU206## [Expression 76]

That is, r13=r23=r31=r32=0 is a necessary and sufficient condition for##STR26## (where U is a two-dimensional orthogonal matrix.) At thistime, ##EQU207##

Next, as for expression {21}', ##STR27## (where U is a two-dimensionalorthogonal matrix.) is equivalent to ##STR28## (where U is atwo-dimensional orthogonal matrix.) By defining SR⁻¹ =P ##EQU208##

That is, p13=p23=p31=p32=0 is a necessary and sufficient condition for##STR29## (where U is a two-dimensional orthogonal matrix.) At thistime, ##EQU209##

FIGS. 66 and 67 are flowcharts showing in a two part series the wholeprocesses of the movement/shape calculation unit 39 pursuant to thefourth form of this invention.

On start of its process, the movement/shape calculation unit 39 selectsin step S150 a value of p defined in expression {23}, as a firstprocedure. Then, as a second procedure, the movement/shape calculationunit 39 obtains in step S151 a value of h such that ah3 is not zero [0],and determines in step S152 values of α, β and Γ, for calculating thevalues of r11, r12, r21 and r22 among elements of rotation matrix R.

FIG. 68 is a flowchart showing processes for calculating elements atintersections between the first and second rows and the first and secondcolumns of a rotation matrix R comprising three [3] rows and three [3]columns.

In step S158, the movement/shape calculation unit 39 determines in stepS155 whether or not both a13 and a23 are zero [0]. If it determines instep S155 that both of them are not zero [0], the movement/shapecalculation unit 39 calculates r11, r12, r21 and r22 in step S156. If itdetermines in step S155 that either a13 or a23 is zero [0], themovement/shape calculation unit 39 determines in step S157 whether ornot a13 is zero [0]. If it determines a13=0 in step S157, themovement/shape calculation unit 39 calculates r11, r12, r21 and r22 instep S158. If it determines a13≠0 in step S157, the movement/shapecalculation unit 39 calculates r11, r12, r21 and r22 in step S159.

Returning to FIG. 66, the movement/shape calculation unit 39 calculatesr13 in step S160, on completing the calculation of r11, r12, r21 and r22in step S156, S158 or S159 shown in FIG. 68. Then, the movement/shapecalculation unit 39 determines in step S161 whether or not r13=0. If itdetermines r13≠0 in step S161, the movement/shape calculation unit 39calculates r23 in step S162. If it determines r13=0 in step S161, themovement/shape calculation unit 39 calculates r23 in step S163. Thus,the movement/shape calculation unit 39 has completed calculating thevalues of the elements in the first and second rows in rotation matrixR.

Continuing on to FIG. 67, as the final process of the second procedure,the movement/shape calculation unit 39 calculates sp j. Then, as a thirdprocedure, the movement/shape calculation unit 39 calculates as, whichis a third row of matrix a in step S165, and the third component of athree-dimensional vector u1 in step S166.

As a fourth procedure, the movement/shape calculation unit 39 calculatessq in step S167, thereby completing the calculation of the first andsecond rows of rotation matrix S.

As a fifth procedure, the movement/shape calculation unit 39 calculatesin step S168 the third row r3) of rotation matrix R and the third row s3of rotation matrix S.

As a sixth procedure, the movement/shape calculation unit 39 calculatesin step S169 third components of three-dimensional vectors vi and wi,and sends to the feature point position reconstruction unit 36 thosecalculation results, i.e. the values of rotation matrices R, S, andthree-dimensional vectors ui, vi and wi (where i=1, 2, 3) representingthree [3] feature points at three [3] instants in time for observation.

Returning to FIG. 64, the feature point position reconstruction unit 36begins its processes from step S171, when the movement/shape calculationunit 39 completes its processes in step S170 shown in FIG. 67. In stepS171, the feature point position reconstruction unit 36 selects thevalues matching the known data of an object inputted to the known datainput unit 31 from the results of calculating the movement and shape ofan object, i.e. from the values of rotation matrices R, S, andthree-dimensional vectors ui, vi and wi (where i=1, 2, 3).

Also, the feature point position reconstruction unit 36 selects eitherrotation matrices R and S or their inverse rotation matrices, as well aseither one [1] of two [2] sets of solutions, which are mirror imagetransformations of each other with respect to an observation plane, aswith the first, second and third forms of this invention.

When it fails in selecting such values in step S171 due to theirnon-existences, the feature point position reconstruction unit 36invokes a recognition disablement process {2} shown in FIG. 69, which isessentially the same as those pursuant to the first, second and thirdforms of this invention shown in FIGS. 22, 33 and 56.

FIG. 69 is a flowchart of an embodiment of recognition disablementprocess {2} pursuant to the fourth form of this invention.

In step S172, the feature point position reconstruction unit 36 storesthe recognition disablement data in the object movement storage unit 28and the feature point position storage unit 29, thereby ending theprocess.

Returning to FIG. 64, when it succeeds in selecting such values in stepS171, the feature point position reconstruction unit 36 stores in theobject movement storage unit 28 the values of selected rotation matricesR and S together with the in-image coordinate values of feature point 0stored in feature point normalization unit 32 in step S173, and in thefeature point position storage unit 29 the values of third components ofthe selected three-dimensional vectors ui, vi and wi (where i=1, 2, 3)and the in-image coordinate values of four [4] feature points stored inthe feature point position storage unit 29 in step S174, thereby endingits processes.

Thus, the shape/movement recognition unit 27 completes its wholeprocesses.

In the above embodiment, the movement/shape calculation unit 39simultaneously calculates two [2] sets of solutions in obtaining inverserotation matrix R⁻¹, as shown in FIG. 65. However, it is also possibleto structure another embodiment in which the movement/shape calculationunit 39 calculates only one [1] set of solutions according to the stepsshown in FIG. 66.

The other embodiment is such that the feature point positionreconstruction unit 36 calculates, as the other values of rotationmatrices R and S, R⁻¹ and S⁻¹, which are inverse matrices of R and S,according to next formulae. ##EQU210##

The feature point position reconstruction unit 36 calculates by nextformulae the other set of three-dimensional vectors ui', vi' and vi'(where i=1, 2, 3), as the mirror image transformations of the set ofthree-dimensional. vectors ui, vi and vi (where i=1, 2, 3) with respectto the XZ plane on which feature points are orthogonally projected.##EQU211## (where i=1, 2, 3)

Accordingly, the feature point position reconstruction unit 36 canobtain two [2] sets of solutions.

As described above, the fourth form of this invention allows the movingbody recognition apparatus to recognize the movement of an object movingwith a rotation from four [4] feature points each in images captured atthree [3] instants in time for observation. Also, as explained in thedescription of FIG. 63, the shape/movement determination unit 33 canimmediately determine the enablement or disablement of recognizing amovement from the in-image positions of feature points.

FIG. 70 is a block diagram of a computer system embodying a moving bodyrecognition apparatus of this invention.

As has already been described in the descriptions of FIGS. 9 through 13,a TV camera 180, image processing hardware including a space filter 181,a first memory 182 and a CPU 183 correspond respectively to the imageinput unit 24, the feature point extraction unit 25, the feature pointstorage unit 26 and the shape/movement recognition unit 27 shown in FIG.10. The CPU 183 connects with a sensor 184 and the first memory 182. Thesensor 184 comprises e.g. a keyboard for supplying known data to theknown data input unit 31. The CPU 183 outputs a result of recognizing amoving body to a second memory 185 corresponding to the object movementstorage unit 28 and the feature point position storage unit 29.

A moving body recognition apparatus having such a system configurationcan have the TV camera 180 capture images of an object and the secondmemory 185 store the result of recognizing the movement of an object.The moving body recognition apparatus can be an automatic monitoringdevice, an visual sensing device for an automatically running vehicle,or an FA inspection device.

FIG. 71 shows an environment for an experimental program verification.

An experiment is performed to verify a program for processes of a movingbody recognition apparatus of this invention by using as an inputfeature point correspondence data created internally in a computer. Theprogram comprises two hundred and eighty [280] steps, and the averageduration of execution is four point six milliseconds [4.6 ms]. Thisattests that the moving body recognition apparatus of this invention,even if it is a system based on a personal computer, can recognize amoving body at a rate faster than a video speed.

As described in detail above, this invention allows the shape andmovement of an object to be recognized based on the feature pointsextracted from images of an object captured by a single image inputunit. As such, compared with a prior art in which two [2] image inputunits are used, this invention enables the numbers of image input unitsand feature point extraction units to be slashed by half, therebyminiaturizing a moving body recognition apparatus. Also, because featurepoints of an object need not have correspondences, unlike the prior artof using two [2] image input units, this invention sheds the timerequired for establishing the correspondences, thereby having anadvantage of reduced processing time.

This invention enables a single TV camera to recognize a moving body. Amoving body recognition apparatus can be applied for use in variousindustries requiring a recognition of a moving body by an imageprocessing, such as factory automations and various monitoring devices.

In addition, this invention is applicable not only to a visualrecognition of an object but also to an acoustic recognition of anobject, in which case a moving body recognition apparatus is configuredmutatis mutandis e.g. by using an ultrasonic sensor as a sound inputunit in lieu of a TV camera as an image input unit.

What is claimed is:
 1. A moving body recognition apparatus forrecognizing a movement of a moving object by positions of featurespoints in an image corresponding to said moving object, comprising:imageinput means for capturing three images of said moving object at threeinstances in time at equal time intervals, said three images beingobserved from a direction perpendicular to an axis of rotation of saidobject moving on a single plane and said object having a rotation at aconstant rate; feature point extraction means for extracting two featurepoints each in said three images captured by said image input means,said feature point extraction means including space filter means forextracting an outline image from said three images captured by saidimage input means and edge point extraction means for extracting an edgepoint from said outline image; feature point position storage means forstoring known position data corresponding to said extracted two featurepoints and for storing said edge point as feature point data; and,shape/movement recognition means for calculating actual positions ofsaid extracted two feature points and a movement of said object fromsaid known position data.
 2. The moving body recognition apparatusaccording to claim 1, wherein:said shape/movement recognition meansprocesses said images of said object captured from said directionperpendicular to said axis of rotation as orthogonally projected imagesof said object.
 3. The moving body recognition apparatus according toclaim 2, further comprising:feature point position storage means forstoring the actual positions of said feature points outputted from saidshape/movement recognition means; and object movement storage means forstoring the angle of rotation of an object outputted from saidshape/movement recognition means.
 4. The moving body recognitionapparatus according to claim 3, wherein:said image input means includesa television camera; said feature point extraction means includes imageprocessing hardware including a space filter; said feature pointposition storage means includes a first memory; said shape/movementrecognition means includes a central processing unit; said feature pointposition storage means includes a second memory and said object movementstorage means includes said second memory; and said moving bodyrecognition apparatus further includes a sensor for outputting to saidCPU known data regarding the shape and movement of said object.
 5. Themoving body recognition apparatus according to claim 3, wherein:saidimage input means captures images of said object monitored by a visualdevice of an automatically running vehicle or an image of said objectinspected in an inspection of factory automation (FA); and said featurepoint position storage means and said object movement storage meansstore the results of recognizing the movements of said object beingmonitored or inspected.
 6. The moving body recognition apparatusaccording to claim 3, wherein said shape/movement recognition meanscomprises:known data input means for receiving from an external sensorknown data including movements and positions of said feature points ofsaid object; feature point position normalization means for obtaining asnormalized known position data the relative positions of one of said twofeature points when the other one of said two feature points of saidobject in said images captured at each of said three instances in timefor observation having equal time intervals falls on the origin of athree-dimensional coordinate space; shape/movement determination meansfor determining an enablement or a disablement of recognizing saidmovements and positions of said feature points of said object by usingan output from said feature point position normalization means; movementcalculation means, activated by a determination by said shape/movementdetermination means of an enablement of recognizing said movements andpositions of said feature points of said object, for calculating anangle of rotation of said object around said origin by using an outputfrom said feature point position normalization means; shape calculationmeans for obtaining unknown position data other than said known positiondata of said two feature points of said object by using outputs fromsaid movement calculation means and said feature point positionnormalization means; and feature point position reconstruction means foroutputting a movement of said object by combining an angle of rotationaround said origin outputted from said movement calculation means withsaid position data of said other one feature point falling on saidorigin in said images outputted from said feature point positionnormalization means, and for outputting positions of feature points bycombining said unknown position data outputted from said shapecalculation means with said position data of said two feature points insaid images outputted from said feature point position normalizationmeans.
 7. The moving body recognition apparatus according to claim 6,wherein an external memory means for temporarily storing said known dataoutputted from said external sensor on an offline basis is providedbefore an input to said known data input means.
 8. The moving bodyrecognition apparatus according to claim 6, wherein said shape/movementrecognition means performs the following functions:a first step ofdetermining whether or not said known data input means has received θ=nπ (where n is an integer), when the relations between two-dimensionalvectors u1, v1 and w1 are expressed as:

    v1=R u1 and w1=R.sup.2 u1,

where the X axis is the direction of a parallel displacement of saidfeature points, the Z axis is the direction parallel to the axis ofrotation of said object and, the Y axis is a direction perpendicular toan image plane, which is the XZ plane, u1=[u11, u12]^(t), v1=[v11,v12]^(t), w1=[w11, w12]^(t)) on the XY plane representing relativepositions of feature point 1 )one [1] not falling on the origin of saidtwo [2] feature points 0 and 1) from the origin on which feature point 0falls respectively at said first, second and third instants in time forobservation, and rotation matrix R ##EQU212## represents atwo-dimensional rotation on the XY plane around the origin of an objectfrom said first instant in time for observation to said second instantin time for observation; a second step, invoked when said shape/movementrecognition means determines positively in said first step, of executingrecognition disablement process {1} after said known data input meansoutputs a deactivation signal to said feature point positionnormalization means and recognition disablement data to said movementcalculation means; a third step, invoked when said shape/movementrecognition means determines negatively in said first step, ofdetermining whether said feature point position storage means has storedpositions of said two [2] feature points 0 and 1 each in said images atthree [3] instants in time for observation, which is repeated until apositive determination is obtained; a fourth step,-invoked when saidshape/movement recognition means determines positively in said thirdstep, of having said feature point position storage means send anactivation signal to said feature point position normalization means,thereby activating said feature point position normalization means; afifth step of having feature point position normalization means storepositions of said two [2] feature points 1 and 2 each in said imagesstored in said feature point position storage means and obtain firstcomponents of vectors u1, v1 and w1 as the X coordinate values bysubtracting from the X coordinate values of feature point 1 in saidimages the X coordinate values of feature point 0 in said images, whichfalls on the origin of said XZ plane; a sixth step of having saidshape/movement determination means determine whether said firstcomponents of vectors u1, v1 and w1 obtained by said feature pointposition normalization means satisfy both of next two [2] conditions

    v11≠0

v11=±u11 and w11=u11 are not outstanding concurrently; a seventh step,invoked when said shape/movement determination means determinesnegatively in said sixth step, of having said shape/movementdetermination means output recognition disablement data to said movementcalculation means, thereby executing a recognition disablement process{1}; an eighth step, invoked when said shape/movement determinationmeans determines positively in said sixth step, of having saidshape/movement determination means activate said movement calculationmeans for executing a process of said movement calculation means; aninth step of having shape calculation means execute its process; atenth step of having said feature point position reconstruction meansdetermine whether or not there is a set of R, u1, v1 and w1 satisfyingsaid known data regarding said movement and said shape of said objectreceived by said known data input means; an eleventh step, invoked whensaid feature point position reconstruction means determines negativelyin said tenth step, of having said feature point position reconstructionmeans execute a recognition disablement process {2}; a twelfth step,invoked when said feature point position reconstruction means determinespositively in said tenth step, of having said feature point positionreconstruction means store in said object movement storage meansrotation matrix R satisfying said known data and the coordinate valuesof feature point 0 in said images outputted from said feature pointposition normalization means; and a thirteenth step of having saidfeature point position reconstruction means store in said feature pointposition storage means second components of u1, v1 and w1 satisfyingsaid known data and coordinate values of feature points 0 and 1 in saidimages outputted from said feature point position normalization means,thereby ending the whole processes.
 9. The moving body recognitionapparatus according to claim 8, wherein said movement calculationmeans:calculates said rotation matrix R by using expressions

    cos θ=(u11+w11)/2v11

    sin θ=±(1-cos.sup.2 θ).sup.1/2 ;

determines whether or not calculated rotation matrix R satisfies saidknown data of said object received by said known data input means;invokes said recognition disablement process {1} when no rotation matrixR satisfies said known data; and sends rotation matrix R satisfying saidknown data to said shape calculation means and said feature pointposition reconstruction means.
 10. The moving body recognition apparatusaccording to claim 9, wherein said recognition disablement process {1}comprises:a step of having said movement calculation means send to saidfeature point position reconstruction means recognition disablementdata; and a step of having said feature point position reconstructionmeans store said recognition disablement data in said object movementstorage means and said feature point position storage means, for aprocess completion.
 11. The moving body recognition apparatus accordingto claim 8, wherein said shape calculation means obtains said secondcomponents of vectors u1, v1 and w1 by using expressions

    u12=1/sin θ[2cos.sup.2 θ-1 -cosθ][v11 w11].sup.t

    v12=[sinθ cosθ][u11 u12].sup.t

    w12=[sinθ cosθ][v11 v12].sup.t


12. The moving body recognition apparatus according to claim 8, whereinsaid recognition disablement process { 2} comprises:a step of havingsaid feature point position reconstruction means store recognitiondisablement data in said object movement storage means and said featurepoint position storage means, for a process completion.
 13. The movingbody recognition apparatus according to claim 8, wherein:said movementcalculation meansobtains said rotation matrix R by only one [1] of thetwo [2] values of sine having positive and negative signs calculated byusing expressions cosθ=[u11+w11]/2v11 and sinθ=±(1--cos² θ)^(1/2), andsends said rotation matrix R thus obtained to said shape calculationmeans and said feature point position reconstruction means; said shapecalculation meansobtains said second components of vectors u1, v1 and w1by using expressions

    u12=1/sinθ [2cos.sup.2 θ-1 -cosθ][v11 w11].sup.t

    v12=[sinθ cosθ][u11 u12].sup.t

    w12=[sinθ cosθ][v11 v12].sup.t,

and sends said second components to said feature point positionreconstruction means; and said feature point position reconstructionmeansobtains inverse rotation matrix R⁻¹, which is an inverse torotation matrix R, and vectors u1', v1" and w1', which are mirror imagetransformations of vectors u1, v1 and w1 with respect to the X axis byusing expressions ##EQU213##
 14. A moving body recognition apparatus forrecognizing a movement of a moving object by positions of feature pointsin images of said moving object, comprising:image input means forcapturing three images of said moving object at three instances in timeat equal time intervals, said image input means located at a positionperpendicular to the axis of rotation of said object moving on a singleplane and said object having a rotation at a constant rate; featurepoint extraction means for extracting two feature points each in saidthree images captured by said image input means, said feature pointextraction means including space filter means for extractingan outlineimage from said three images captured by said image input means and edgepoint extraction means for extracting an edge point from said outlineimage; feature point position storage means for storing known positiondata of said extracted two feature points and for storing said edgepoint as feature point data; and movement recognition means forcalculating the movement of said object from said known position data.